From c4b11ac50d939f43db8a5ecec9c4acfbe1ee3474 Mon Sep 17 00:00:00 2001 From: droshev Date: Fri, 27 Dec 2024 15:39:34 -0500 Subject: [PATCH] docs: ng19 typedoc fixes --- .eslintrc.json | 1 - libs/core/project.json | 3 +- libs/core/tsconfig.json | 3 + libs/core/tsconfig.typedoc.json | 21 + libs/cx/project.json | 3 +- libs/cx/tsconfig.json | 3 + libs/cx/tsconfig.typedoc.json | 21 + .../src/executors/compile-typedoc/executor.ts | 9 +- .../src/executors/compile-typedoc/schema.d.ts | 1 + .../src/executors/compile-typedoc/schema.json | 4 + .../compile-typedoc/theme/formatter.tsx | 1189 +++++++++++++++++ .../executors/compile-typedoc/theme/index.tsx | 3 +- .../compile-typedoc/theme/partials/type.tsx | 2 +- .../theme-selector-list.component.scss | 2 +- package.json | 16 +- yarn.lock | 1131 +++++++++------- 16 files changed, 1925 insertions(+), 487 deletions(-) create mode 100644 libs/core/tsconfig.typedoc.json create mode 100644 libs/cx/tsconfig.typedoc.json create mode 100644 libs/nx-plugin/src/executors/compile-typedoc/theme/formatter.tsx diff --git a/.eslintrc.json b/.eslintrc.json index bcf9a760faa..e3bc2784b1f 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -212,7 +212,6 @@ "types": "prefer-import" } ], - "@typescript-eslint/type-annotation-spacing": "error", "@typescript-eslint/unified-signatures": "error", "arrow-body-style": "error", "arrow-parens": ["off", "always"], diff --git a/libs/core/project.json b/libs/core/project.json index 1278d6470c3..c282157db34 100644 --- a/libs/core/project.json +++ b/libs/core/project.json @@ -12,7 +12,8 @@ "compile-typedoc": { "executor": "@fundamental-ngx/nx-plugin:compile-typedoc", "options": { - "outputPath": "libs/docs/typedoc/core" + "outputPath": "libs/docs/typedoc/core", + "tsConfig": "libs/core/tsconfig.typedoc.json" }, "outputs": ["{options.outputPath}"] }, diff --git a/libs/core/tsconfig.json b/libs/core/tsconfig.json index d0f01f5a964..965b6f87f5b 100644 --- a/libs/core/tsconfig.json +++ b/libs/core/tsconfig.json @@ -3,6 +3,9 @@ "files": [], "include": [], "references": [ + { + "path": "./tsconfig.typedoc.json" + }, { "path": "./tsconfig.lib.json" }, diff --git a/libs/core/tsconfig.typedoc.json b/libs/core/tsconfig.typedoc.json new file mode 100644 index 00000000000..9b00093ea51 --- /dev/null +++ b/libs/core/tsconfig.typedoc.json @@ -0,0 +1,21 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "target": "ES2022", + "declaration": true, + "declarationMap": true, + "types": [], + "lib": ["dom", "es2018"], + "useDefineForClassFields": false, + "jsx": "react", + "jsxFactory": "JSX.createElement", + "jsxFragmentFactory": "JSX.Fragment" + }, + "angularCompilerOptions": { + "skipTemplateCodegen": true, + "strictMetadataEmit": true, + "enableResourceInlining": true + }, + "files": ["./index.ts"] +} \ No newline at end of file diff --git a/libs/cx/project.json b/libs/cx/project.json index a6f7cc1b61d..976a2b5d3f9 100644 --- a/libs/cx/project.json +++ b/libs/cx/project.json @@ -12,7 +12,8 @@ "compile-typedoc": { "executor": "@fundamental-ngx/nx-plugin:compile-typedoc", "options": { - "outputPath": "libs/docs/typedoc/cx" + "outputPath": "libs/docs/typedoc/cx", + "tsConfig": "libs/cx/tsconfig.typedoc.json" }, "outputs": ["{options.outputPath}"] }, diff --git a/libs/cx/tsconfig.json b/libs/cx/tsconfig.json index d0f01f5a964..965b6f87f5b 100644 --- a/libs/cx/tsconfig.json +++ b/libs/cx/tsconfig.json @@ -3,6 +3,9 @@ "files": [], "include": [], "references": [ + { + "path": "./tsconfig.typedoc.json" + }, { "path": "./tsconfig.lib.json" }, diff --git a/libs/cx/tsconfig.typedoc.json b/libs/cx/tsconfig.typedoc.json new file mode 100644 index 00000000000..9b00093ea51 --- /dev/null +++ b/libs/cx/tsconfig.typedoc.json @@ -0,0 +1,21 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "target": "ES2022", + "declaration": true, + "declarationMap": true, + "types": [], + "lib": ["dom", "es2018"], + "useDefineForClassFields": false, + "jsx": "react", + "jsxFactory": "JSX.createElement", + "jsxFragmentFactory": "JSX.Fragment" + }, + "angularCompilerOptions": { + "skipTemplateCodegen": true, + "strictMetadataEmit": true, + "enableResourceInlining": true + }, + "files": ["./index.ts"] +} \ No newline at end of file diff --git a/libs/nx-plugin/src/executors/compile-typedoc/executor.ts b/libs/nx-plugin/src/executors/compile-typedoc/executor.ts index 29f927a35c9..4dcafc465a9 100644 --- a/libs/nx-plugin/src/executors/compile-typedoc/executor.ts +++ b/libs/nx-plugin/src/executors/compile-typedoc/executor.ts @@ -25,7 +25,7 @@ export default async function compileTypedocs(_options: CompileTypedocExecutorSc }, context ); - const { tsConfig } = readTargetOptions({ project: context.projectName as string, target: 'build' }, context); + const tsConfig: string = _options.tsConfig || readTargetOptions({ project: context.projectName as string, target: 'build' }, context).tsConfig; const ngPackageJsonFiles = fastGlobSync(projectPath + '/**/*/ng-package.json'); const entryPoints = ngPackageJsonFiles.map((f) => { const json = JSON.parse(readFileSync(f, 'utf-8')); @@ -44,16 +44,11 @@ export default async function compileTypedocs(_options: CompileTypedocExecutorSc plugin: ['typedoc-plugin-merge-modules'], mergeModulesRenameDefaults: true, mergeModulesMergeMode: 'project', - compilerOptions: { - jsx: 'react', - jsxFactory: 'JSX.createElement', - jsxFragmentFactory: 'JSX.Fragment' - }, theme: 'fd-typedoc' } as unknown as Partial); app.options.addReader(new TSConfigReader()); - app.renderer.defineTheme('fd-typedoc', FdTheme); + app.renderer.defineTheme('fd-typedoc', DefaultTheme); const project = await app.convert(); diff --git a/libs/nx-plugin/src/executors/compile-typedoc/schema.d.ts b/libs/nx-plugin/src/executors/compile-typedoc/schema.d.ts index 61ec6099c39..388c8e0e4ba 100644 --- a/libs/nx-plugin/src/executors/compile-typedoc/schema.d.ts +++ b/libs/nx-plugin/src/executors/compile-typedoc/schema.d.ts @@ -1,3 +1,4 @@ export interface CompileTypedocExecutorSchema { outputPath: string; + tsConfig?: string; } diff --git a/libs/nx-plugin/src/executors/compile-typedoc/schema.json b/libs/nx-plugin/src/executors/compile-typedoc/schema.json index 0aa8fa8b67e..46c0c16cd65 100644 --- a/libs/nx-plugin/src/executors/compile-typedoc/schema.json +++ b/libs/nx-plugin/src/executors/compile-typedoc/schema.json @@ -8,6 +8,10 @@ "outputPath": { "type": "string", "description": "Path to the output directory" + }, + "tsConfig": { + "type": "string", + "description": "Path to the tsconfig file. If not provided, the executor will pick the 'build' target's tsConfig" } }, "required": [] diff --git a/libs/nx-plugin/src/executors/compile-typedoc/theme/formatter.tsx b/libs/nx-plugin/src/executors/compile-typedoc/theme/formatter.tsx new file mode 100644 index 00000000000..d6a3f2a5ddf --- /dev/null +++ b/libs/nx-plugin/src/executors/compile-typedoc/theme/formatter.tsx @@ -0,0 +1,1189 @@ +// Heavily based on https://yorickpeterse.com/articles/how-to-write-a-code-formatter/ +// Implements roughly the same algorithm as Prettier + +import { ok } from "assert"; +import { + LiteralType, + ReferenceType, + TypeContext, + type SomeType, + type TypeVisitor, + ReferenceReflection, + ProjectReflection, +} from "typedoc"; +import { JSX } from "typedoc"; +import { + ReflectionKind, + type Reflection, + type DeclarationReflection, + type SignatureReflection, + type TypeParameterReflection, + type ParameterReflection, +} from "typedoc"; + +// Non breaking space +const INDENT = "\u00A0\u00A0\u00A0\u00A0"; + +function aggregate(arr: T[], fn: (item: T) => number) { + return arr.reduce((sum, it) => sum + fn(it), 0); +} + +function getKindClass(refl: Reflection): string { + if (refl instanceof ReferenceReflection) { + return getKindClass(refl.getTargetReflectionDeep()); + } + return ReflectionKind.classString(refl.kind); +} + +class DefaultMap extends Map { + constructor(private creator: (key: K) => V) { + super(); + } + + override get(key: K): V { + const saved = super.get(key); + if (saved != null) { + return saved; + } + + const created = this.creator(key); + this.set(key, created); + return created; + } + + getNoInsert(key: K): V | undefined { + return super.get(key); + } +} + +function stringify(data: unknown) { + if (typeof data === "bigint") { + return data.toString() + "n"; + } + return JSON.stringify(data); +} + +/** + * Returns a (hopefully) globally unique path for the given reflection. + * + * This only works for exportable symbols, so e.g. methods are not affected by this. + * + * If the given reflection has a globally unique name already, then it will be returned as is. If the name is + * ambiguous (i.e. there are two classes with the same name in different namespaces), then the namespaces path of the + * reflection will be returned. + */ +export function getUniquePath(reflection: Reflection): Reflection[] { + if (reflection.kindOf(ReflectionKind.SomeExport)) { + if (getNameCollisionCount(reflection.project, reflection.name) >= 2) { + return getNamespacedPath(reflection); + } + } + return [reflection]; +} + +const nameCollisionCache = new WeakMap>(); +function getNameCollisionCount(project: ProjectReflection, name: string): number { + let collisions = nameCollisionCache.get(project); + if (collisions === undefined) { + collisions = new DefaultMap(() => 0); + for (const reflection of project.getReflectionsByKind(ReflectionKind.SomeExport)) { + collisions.set(reflection.name, collisions.get(reflection.name) + 1); + } + nameCollisionCache.set(project, collisions); + } + return collisions.get(name); +} + +function getNamespacedPath(reflection: Reflection): Reflection[] { + const path = [reflection]; + let parent = reflection.parent; + while (parent?.kindOf(ReflectionKind.Namespace)) { + path.unshift(parent); + parent = parent.parent; + } + return path; +} + + +/** + * Utility to help type checking ensure that there is no uncovered case. + */ +function assertNever(x: never): never { + throw new Error( + `Expected handling to cover all possible cases, but it didn't cover: ${Util.inspect( + x, + )}`, + ); +} +export type FormatterNode = + | { type: "text"; content: string } + | { type: "element"; content: JSX.Element; length: number } + | { type: "line" } + | { type: "space_or_line" } + | { type: "indent"; content: FormatterNode[] } + | { type: "group"; id: number; content: FormatterNode[] } + | { type: "nodes"; content: FormatterNode[] } + | { + type: "if_wrap"; + id: number; + true: FormatterNode; + false: FormatterNode; + }; + +const emptyNode = textNode(""); + +function space() { + return textNode(" "); +} +function textNode(content: string): FormatterNode { + return { type: "text", content }; +} +function simpleElement(element: JSX.Element): FormatterNode { + ok(element.children.length === 1); + ok(typeof element.children[0] === "string"); + return { + type: "element", + content: element, + length: element.children[0].length, + }; +} +function line(): FormatterNode { + return { type: "line" }; +} +function spaceOrLine(): FormatterNode { + return { type: "space_or_line" }; +} +function indent(content: FormatterNode[]): FormatterNode { + return { type: "indent", content }; +} +function group(id: number, content: FormatterNode[]): FormatterNode { + return { type: "group", id, content }; +} +function nodes(...content: FormatterNode[]): FormatterNode { + return { type: "nodes", content }; +} +function ifWrap( + id: number, + trueBranch: FormatterNode, + falseBranch: FormatterNode = emptyNode, +): FormatterNode { + return { type: "if_wrap", id, true: trueBranch, false: falseBranch }; +} + +function join( + joiner: FormatterNode, + list: readonly T[], + cb: (x: T) => FormatterNode, +): FormatterNode { + const content: FormatterNode[] = []; + + for (const item of list) { + if (content.length > 0) { + content.push(joiner); + } + content.push(cb(item)); + } + + return { type: "nodes", content }; +} + +function nodeWidth(node: FormatterNode, wrapped: Set): number { + switch (node.type) { + case "text": + return node.content.length; + case "element": + return node.length; + case "line": + return 0; + case "space_or_line": + return 1; + case "indent": + case "group": + case "nodes": + return aggregate(node.content, (n) => nodeWidth(n, wrapped)); + case "if_wrap": + return wrapped.has(node.id) + ? nodeWidth(node.true, wrapped) + : nodeWidth(node.false, wrapped); + } +} + +export enum Wrap { + Detect = 0, + Enable = 1, +} + +/** + * Responsible for rendering nodes + */ +export class FormattedCodeGenerator { + private buffer: Array = []; + /** Indentation level, not number of chars */ + private indent = 0; + /** The number of characters on the current line */ + private size: number; + /** Maximum number of characters allowed per line */ + private max: number; + /** Groups which need to be wrapped */ + private wrapped = new Set(); + + constructor(maxWidth: number = 80, startWidth = 0) { + this.max = maxWidth; + this.size = startWidth; + } + + forceWrap(wrapped: Set) { + for (const id of wrapped) { + this.wrapped.add(id); + } + } + + toElement(): JSX.Element { + return <>{this.buffer}; + } + + node(node: FormatterNode, wrap: Wrap): void { + switch (node.type) { + case "nodes": { + for (const n of node.content) { + this.node(n, wrap); + } + break; + } + case "group": { + const width = aggregate(node.content, (n) => + nodeWidth(n, this.wrapped), + ); + let wrap: Wrap; + if (this.size + width > this.max || this.wrapped.has(node.id)) { + this.wrapped.add(node.id); + wrap = Wrap.Enable; + } else { + wrap = Wrap.Detect; + } + for (const n of node.content) { + this.node(n, wrap); + } + break; + } + case "if_wrap": { + if (this.wrapped.has(node.id)) { + this.node(node.true, Wrap.Enable); + } else { + this.node(node.false, wrap); + } + break; + } + case "text": { + this.text(node.content, node.content.length); + break; + } + case "element": { + this.text(node.content, node.length); + break; + } + case "line": { + if (wrap == Wrap.Enable) { + this.newLine(); + } + break; + } + case "space_or_line": { + if (wrap === Wrap.Enable) { + this.newLine(); + } else { + this.text(" ", 1); + } + break; + } + case "indent": { + if (wrap === Wrap.Enable) { + this.size += INDENT.length; + this.indent += 1; + this.buffer.push(INDENT); + for (const n of node.content) { + this.node(n, wrap); + } + this.indent -= 1; + } else { + for (const n of node.content) { + this.node(n, wrap); + } + } + break; + } + default: + assertNever(node); + } + } + + private text(value: string | JSX.Element, chars: number) { + this.size += chars; + this.buffer.push(value); + } + + private newLine() { + this.size = INDENT.length + this.indent; + const last = this.buffer[this.buffer.length - 1]; + if (typeof last === "string") { + this.buffer[this.buffer.length - 1] = last.trimEnd(); + } + this.buffer.push(
); + this.buffer.push(INDENT.repeat(this.indent)); + } +} + +const typeBuilder: TypeVisitor< + FormatterNode, + [FormattedCodeBuilder, { topLevelLinks: boolean }] +> = { + array(type, builder) { + return nodes( + builder.type(type.elementType, TypeContext.arrayElement), + simpleElement([]), + ); + }, + conditional(type, builder) { + const id = builder.newId(); + return group(id, [ + builder.type(type.checkType, TypeContext.conditionalCheck), + space(), + simpleElement(extends), + space(), + builder.type(type.extendsType, TypeContext.conditionalExtends), + spaceOrLine(), + indent([ + simpleElement(?), + space(), + builder.type(type.trueType, TypeContext.conditionalTrue), + spaceOrLine(), + simpleElement(:), + space(), + builder.type(type.falseType, TypeContext.conditionalFalse), + ]), + ]); + }, + indexedAccess(type, builder) { + let indexType = builder.type(type.indexType, TypeContext.indexedIndex); + + if ( + type.objectType instanceof ReferenceType && + type.objectType.reflection && + type.indexType instanceof LiteralType && + typeof type.indexType.value === "string" + ) { + const childReflection = type.objectType.reflection.getChildByName([ + type.indexType.value, + ]); + if (childReflection) { + const displayed = stringify(type.indexType.value); + indexType = { + type: "element", + content: ( + + {displayed} + + ), + length: displayed.length, + }; + } + } + + return nodes( + builder.type(type.objectType, TypeContext.indexedObject), + simpleElement([), + indexType, + simpleElement(]), + ); + }, + inferred(type, builder) { + const simple = nodes( + simpleElement(infer), + space(), + simpleElement( + {type.name}, + ), + ); + + if (type.constraint) { + const id = builder.newId(); + return group(id, [ + simple, + space(), + simpleElement( + extends, + ), + spaceOrLine(), + indent([ + builder.type( + type.constraint, + TypeContext.inferredConstraint, + ), + ]), + ]); + } + + return simple; + }, + intersection(type, builder) { + // Prettier doesn't do smart wrapping here like we do with unions + // so... TypeDoc won't either, at least for now. + return join( + nodes( + space(), + simpleElement(&), + space(), + ), + type.types, + (type) => builder.type(type, TypeContext.intersectionElement), + ); + }, + intrinsic(type) { + return simpleElement( + {type.name}, + ); + }, + literal(type) { + return simpleElement( + {stringify(type.value)}, + ); + }, + mapped(type, builder) { + const parts: FormatterNode[] = []; + + switch (type.readonlyModifier) { + case "+": + parts.push( + simpleElement( + readonly, + ), + space(), + ); + break; + case "-": + parts.push( + simpleElement(-), + simpleElement( + readonly, + ), + space(), + ); + break; + } + + parts.push( + simpleElement([), + simpleElement( + {type.parameter}, + ), + space(), + simpleElement(in), + space(), + builder.type(type.parameterType, TypeContext.mappedParameter), + ); + + if (type.nameType) { + parts.push( + space(), + simpleElement(as), + space(), + builder.type(type.nameType, TypeContext.mappedName), + ); + } + + parts.push(simpleElement(])); + + switch (type.optionalModifier) { + case "+": + parts.push( + simpleElement(?:), + ); + break; + case "-": + parts.push( + simpleElement( + -?:, + ), + ); + break; + default: + parts.push( + simpleElement(:), + ); + } + + parts.push( + space(), + builder.type(type.templateType, TypeContext.mappedTemplate), + ); + + return group(builder.newId(), [ + simpleElement({"{"}), + spaceOrLine(), + indent(parts), + spaceOrLine(), + simpleElement({"}"}), + ]); + }, + namedTupleMember(type, builder) { + return nodes( + textNode(type.name), + type.isOptional + ? simpleElement(?:) + : simpleElement(:), + space(), + builder.type(type.element, TypeContext.none), + ); + }, + optional(type, builder) { + return nodes( + builder.type(type.elementType, TypeContext.optionalElement), + simpleElement(?), + ); + }, + predicate(type, builder) { + const content: FormatterNode[] = []; + if (type.asserts) { + content.push( + simpleElement( + asserts, + ), + space(), + ); + } + + content.push( + simpleElement({type.name}), + ); + + if (type.targetType) { + content.push( + space(), + simpleElement(is), + space(), + builder.type(type.targetType, TypeContext.predicateTarget), + ); + } + + return nodes(...content); + }, + query(type, builder) { + return nodes( + simpleElement(typeof), + space(), + builder.type(type.queryType, TypeContext.queryTypeTarget), + ); + }, + reference(type, builder) { + const reflection = type.reflection; + let name: FormatterNode; + + if (reflection) { + if (reflection.kindOf(ReflectionKind.TypeParameter)) { + name = simpleElement( + + {reflection.name} + , + ); + } else { + name = join( + simpleElement(.), + getUniquePath(reflection), + (item) => + simpleElement( + + {item.name} + , + ), + ); + } + } else if (type.externalUrl) { + name = simpleElement( + + {type.name} + , + ); + } else if (type.refersToTypeParameter) { + name = simpleElement( + + {type.name} + , + ); + } else { + name = simpleElement( + {type.name}, + ); + } + + if (type.typeArguments?.length) { + const id = builder.newId(); + return group(id, [ + name, + simpleElement({"<"}), + line(), + indent([ + join( + nodes( + simpleElement( + ,, + ), + spaceOrLine(), + ), + type.typeArguments, + (item) => + builder.type( + item, + TypeContext.referenceTypeArgument, + ), + ), + ifWrap( + id, + simpleElement( + ,, + ), + ), + ]), + line(), + simpleElement({">"}), + ]); + } + + return name; + }, + reflection(type, builder, options) { + return builder.reflection(type.declaration, options); + }, + rest(type, builder) { + return nodes( + simpleElement(...), + builder.type(type.elementType, TypeContext.restElement), + ); + }, + templateLiteral(type, builder) { + const content: FormatterNode[] = []; + content.push( + simpleElement(`), + ); + + if (type.head) { + content.push( + simpleElement( + {type.head}, + ), + ); + } + + for (const item of type.tail) { + content.push( + simpleElement({"${"}), + builder.type(item[0], TypeContext.templateLiteralElement), + simpleElement({"}"}), + ); + if (item[1]) { + content.push( + simpleElement( + {item[1]}, + ), + ); + } + } + + content.push( + simpleElement(`), + ); + + return nodes(...content); + }, + tuple(type, builder) { + const id = builder.newId(); + + return group(id, [ + simpleElement([), + line(), + indent([ + join( + nodes( + simpleElement( + ,, + ), + spaceOrLine(), + ), + type.elements, + (item) => builder.type(item, TypeContext.tupleElement), + ), + ]), + ifWrap( + id, + simpleElement(,), + ), + line(), + simpleElement(]), + ]); + }, + typeOperator(type, builder) { + return nodes( + simpleElement( + {type.operator}, + ), + space(), + builder.type(type.target, TypeContext.typeOperatorTarget), + ); + }, + union(type, builder) { + const parentId = builder.id; + const id = builder.newId(); + const pipe = simpleElement(|); + + const elements = type.types.flatMap((type, i) => [ + i == 0 ? ifWrap(id, nodes(pipe, space())) : space(), + builder.type(type, TypeContext.unionElement), + spaceOrLine(), + pipe, + ]); + elements.pop(); // Remove last pipe + elements.pop(); // Remove last spaceOrLine + + return group(id, [ + ifWrap(parentId, emptyNode, line()), + ifWrap(parentId, nodes(...elements), indent(elements)), + ]); + }, + unknown(type) { + return textNode(type.name); + }, +}; + +/** + * Responsible for generating Nodes from a type tree. + */ +export class FormattedCodeBuilder { + forceWrap = new Set(); + id = 0; + + constructor(readonly urlTo: (refl: Reflection) => string) {} + + newId() { + return ++this.id; + } + + type( + type: SomeType | undefined, + where: TypeContext, + options: { topLevelLinks: boolean } = { topLevelLinks: false }, + ): FormatterNode { + if (!type) { + return simpleElement(any); + } + + if (type.needsParenthesis(where)) { + const id = this.newId(); + return group(id, [ + textNode("("), + line(), + indent([type.visit(typeBuilder, this, options)]), + line(), + textNode(")"), + ]); + } + return type.visit(typeBuilder, this, options); + } + + reflection( + reflection: DeclarationReflection, + options: { topLevelLinks: boolean }, + ): FormatterNode { + const members: FormatterNode[] = []; + const children = reflection.getProperties(); + + for (const item of children) { + this.member(members, item, options); + } + + if (reflection.indexSignatures) { + for (const index of reflection.indexSignatures) { + members.push( + nodes( + ...(index.flags.isReadonly + ? [ + simpleElement( + + readonly + , + ), + space(), + ] + : []), + simpleElement( + [, + ), + simpleElement( + + {index.parameters![0].name} + , + ), + simpleElement( + :, + ), + space(), + this.type(index.parameters![0].type, TypeContext.none), + simpleElement( + ]:, + ), + space(), + this.type(index.type, TypeContext.none), + ), + ); + } + } + + if (!members.length && reflection.signatures?.length === 1) { + return this.signature(reflection.signatures[0], { + hideName: true, + arrowStyle: true, + }); + } + + for (const item of reflection.signatures || []) { + members.push(this.signature(item, { hideName: true })); + } + + if (members.length) { + const id = this.newId(); + if (options.topLevelLinks) { + this.forceWrap.add(id); + } + return group(id, [ + simpleElement({"{"}), + spaceOrLine(), + indent([ + join( + nodes( + simpleElement( + ;, + ), + spaceOrLine(), + ), + members, + (node) => node, + ), + ]), + ifWrap( + id, + simpleElement(;), + ), + spaceOrLine(), + simpleElement({"}"}), + ]); + } + + return simpleElement({"{}"}); + } + + interface(item: DeclarationReflection) { + return nodes( + simpleElement(interface), + space(), + simpleElement({item.name}), + this.typeParameters(item), + space(), + this.reflection(item, { topLevelLinks: true }), + ); + } + + member( + members: FormatterNode[], + item: DeclarationReflection, + options: { topLevelLinks: boolean }, + ): void { + if (item.getSignature && item.setSignature) { + members.push( + this.signature(item.getSignature, options), + this.signature(item.setSignature, options), + ); + return; + } + + if (item.getSignature) { + members.push(this.signature(item.getSignature, options)); + return; + } + + if (item.setSignature) { + members.push(this.signature(item.setSignature, options)); + return; + } + + if (item.signatures) { + members.push( + ...item.signatures.map((sig) => this.signature(sig, options)), + ); + return; + } + + members.push( + nodes( + this.propertyName(item, options), + simpleElement( + + {item.flags.isOptional ? "?:" : ":"} + , + ), + space(), + this.type(item.type, TypeContext.none), + ), + ); + } + + signature( + sig: SignatureReflection, + options: { + topLevelLinks?: boolean; + hideName?: boolean; + arrowStyle?: boolean; + }, + ): FormatterNode { + let name: FormatterNode = options.hideName + ? emptyNode + : this.propertyName(sig, options); + switch (sig.kind) { + case ReflectionKind.ConstructorSignature: { + let label = emptyNode; + if (sig.flags.isAbstract) { + label = nodes( + simpleElement( + abstract, + ), + space(), + ); + } + label = nodes( + label, + simpleElement( + new, + ), + space(), + ); + name = nodes(label, name); + break; + } + case ReflectionKind.GetSignature: { + name = nodes( + simpleElement( + get, + ), + space(), + name, + ); + break; + } + case ReflectionKind.SetSignature: { + name = nodes( + simpleElement( + set, + ), + space(), + name, + ); + break; + } + } + + const id = this.newId(); + return group(id, [ + name, + this.typeParameters(sig), + ...this.parameters(sig, id), + nodes( + options.arrowStyle ? space() : emptyNode, + simpleElement( + + {options.arrowStyle ? "=>" : ":"} + , + ), + space(), + this.type(sig.type, TypeContext.none), + ), + ]); + } + + private typeParameters( + sig: SignatureReflection | DeclarationReflection, + ): FormatterNode { + if (!sig.typeParameters?.length) { + return emptyNode; + } + + const id = this.newId(); + return group(id, [ + simpleElement({"<"}), + line(), + indent([ + join( + nodes( + simpleElement( + ,, + ), + spaceOrLine(), + ), + sig.typeParameters, + (item) => this.typeParameter(item), + ), + ]), + ifWrap( + id, + simpleElement(,), + ), + line(), + simpleElement({">"}), + ]); + } + + private typeParameter(param: TypeParameterReflection) { + let prefix = emptyNode; + if (param.flags.isConst) { + prefix = nodes( + simpleElement(const), + space(), + ); + } + if (param.varianceModifier) { + prefix = nodes( + prefix, + simpleElement( + + {param.varianceModifier} + , + ), + space(), + ); + } + const content = [ + prefix, + simpleElement( + + {param.name} + , + ), + ]; + + if (param.type) { + content.push( + space(), + simpleElement( + extends, + ), + spaceOrLine(), + indent([this.type(param.type, TypeContext.none)]), + ); + } + + if (param.default) { + content.push( + space(), + simpleElement(=), + space(), + this.type(param.default, TypeContext.none), + ); + } + + return group(this.newId(), content); + } + + private parameters(sig: SignatureReflection, id: number): FormatterNode[] { + if (!sig.parameters?.length) { + return [ + simpleElement(()), + ]; + } + + return [ + simpleElement((), + line(), + indent([ + join( + nodes( + simpleElement( + ,, + ), + spaceOrLine(), + ), + sig.parameters, + (item) => this.parameter(item), + ), + ]), + ifWrap( + id, + simpleElement(,), + ), + line(), + simpleElement()), + ]; + } + + private parameter(param: ParameterReflection) { + const content: FormatterNode[] = []; + if (param.flags.isRest) { + content.push( + simpleElement(...), + ); + } + content.push( + simpleElement({param.name}), + ); + + if (param.flags.isOptional || param.defaultValue) { + content.push( + simpleElement(?:), + ); + } else { + content.push( + simpleElement(:), + ); + } + // Tricky: We don't introduce a branch here via group() + // the branch may be introduced by the union type if the parameter + // value is a union. + const id = this.newId(); + content.push(ifWrap(id, emptyNode, space())); + content.push(this.type(param.type, TypeContext.none)); + return nodes(...content); + } + + private propertyName( + reflection: Reflection, + options: { topLevelLinks?: boolean }, + ): FormatterNode { + const entityName = /^[A-Z_$][\w$]*$/i.test(reflection.name) + ? reflection.name + : JSON.stringify(reflection.name); + + if (options.topLevelLinks) { + return simpleElement( + + {entityName} + , + ); + } + return simpleElement( + {entityName}, + ); + } +} \ No newline at end of file diff --git a/libs/nx-plugin/src/executors/compile-typedoc/theme/index.tsx b/libs/nx-plugin/src/executors/compile-typedoc/theme/index.tsx index 51a2ebc5768..eeac88cd1f3 100644 --- a/libs/nx-plugin/src/executors/compile-typedoc/theme/index.tsx +++ b/libs/nx-plugin/src/executors/compile-typedoc/theme/index.tsx @@ -35,8 +35,7 @@ export class FdThemeContext extends DefaultThemeRenderContext { if (props instanceof DeclarationReflection || props instanceof SignatureReflection) { return member(this, props); } - // Handle DocumentReflection accordingly, if needed - return <>{JSON.stringify(props)}; // Example placeholder for handling DocumentReflection + return <>{JSON.stringify(props)}; }; override memberSignatures = (props: DeclarationReflection) => memberSignatures(this, props); comment = (props: Reflection) => comment(props); diff --git a/libs/nx-plugin/src/executors/compile-typedoc/theme/partials/type.tsx b/libs/nx-plugin/src/executors/compile-typedoc/theme/partials/type.tsx index 6fc76b54170..c02a5816299 100644 --- a/libs/nx-plugin/src/executors/compile-typedoc/theme/partials/type.tsx +++ b/libs/nx-plugin/src/executors/compile-typedoc/theme/partials/type.tsx @@ -1,5 +1,5 @@ import { DefaultThemeRenderContext, SomeType, TypeContext } from 'typedoc'; -import { FormattedCodeBuilder, FormattedCodeGenerator, Wrap } from 'typedoc/dist/lib/output/formatter.js'; +import { FormattedCodeBuilder, FormattedCodeGenerator, Wrap } from '../formatter'; export function type( context: DefaultThemeRenderContext, diff --git a/libs/platform/settings-generator/controls/theme-selector-list/theme-selector-list.component.scss b/libs/platform/settings-generator/controls/theme-selector-list/theme-selector-list.component.scss index 0bea9f67566..104fd1c4647 100644 --- a/libs/platform/settings-generator/controls/theme-selector-list/theme-selector-list.component.scss +++ b/libs/platform/settings-generator/controls/theme-selector-list/theme-selector-list.component.scss @@ -103,7 +103,7 @@ $colors: ( border: 1px solid var(--sapContent_Illustrative_Color5); @for $i from 1 through 9 { .settings-selector-list-icon__cls-#{$i} { - fill: map.get($set-fill, 'fill_#{$i}'); + fill: map_get($set-fill, 'fill_#{$i}'); } } } diff --git a/package.json b/package.json index 41e0114a4b6..1432689f7fd 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "lodash-es": "4.17.21", "marked": "9.0.0", "moment": "2.29.4", - "ngx-markdown": "18.0.0", + "ngx-markdown": "19.0.0", "rxjs": "7.8.1", "tslib": "^2.3.0", "zone.js": "0.15.0" @@ -76,9 +76,9 @@ "@angular-devkit/build-angular": "19.0.4", "@angular-devkit/core": "19.0.4", "@angular-devkit/schematics": "19.0.4", - "@angular-eslint/eslint-plugin": "19.0.1", - "@angular-eslint/eslint-plugin-template": "19.0.1", - "@angular-eslint/template-parser": "19.0.1", + "@angular-eslint/eslint-plugin": "19.0.2", + "@angular-eslint/eslint-plugin-template": "19.0.2", + "@angular-eslint/template-parser": "19.0.2", "@angular/cli": "~19.0.0", "@angular/compiler-cli": "19.0.3", "@angular/language-service": "19.0.3", @@ -102,9 +102,9 @@ "@types/jest": "29.5.14", "@types/lodash-es": "4.17.6", "@types/marked": "5.0.2", - "@types/node": "^18.16.9", - "@typescript-eslint/eslint-plugin": "7.18.0", - "@typescript-eslint/parser": "7.18.0", + "@types/node": "22.10.2", + "@typescript-eslint/eslint-plugin": "8.18.2", + "@typescript-eslint/parser": "8.18.2", "@wdio/allure-reporter": "7.7.3", "@wdio/cli": "7.16.16", "@wdio/jasmine-framework": "7.0.0", @@ -156,7 +156,7 @@ "ts-node": "10.9.2", "tsconfig-paths": "4.1.0", "typedoc": "0.27.5", - "typedoc-plugin-merge-modules": "5.1.0", + "typedoc-plugin-merge-modules": "6.0.3", "typescript": "5.6.3", "wait-on": "6.0.1", "wdio-axe": "2.2.3", diff --git a/yarn.lock b/yarn.lock index 2f97f40fe69..78db1ef54f9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -284,19 +284,19 @@ __metadata: languageName: node linkType: hard -"@angular-eslint/bundled-angular-compiler@npm:19.0.1": - version: 19.0.1 - resolution: "@angular-eslint/bundled-angular-compiler@npm:19.0.1" - checksum: 10/425f065a6a5840d68b734be04ee3a77a993ca8f8248b502b5c3de993854972cb917dfc04b0a7e2e7fb4facd018bf2baa62f2c78175cf60a5d1b553d5f47db022 +"@angular-eslint/bundled-angular-compiler@npm:19.0.2": + version: 19.0.2 + resolution: "@angular-eslint/bundled-angular-compiler@npm:19.0.2" + checksum: 10/2df361af1c809ef708c86feb66f790aaf35ba9c36f9cde8e3740d6052c837597eaa7454030b22fb35b072e99e7f8451a4d4276482391d27c9bb653a0e2500b93 languageName: node linkType: hard -"@angular-eslint/eslint-plugin-template@npm:19.0.1": - version: 19.0.1 - resolution: "@angular-eslint/eslint-plugin-template@npm:19.0.1" +"@angular-eslint/eslint-plugin-template@npm:19.0.2": + version: 19.0.2 + resolution: "@angular-eslint/eslint-plugin-template@npm:19.0.2" dependencies: - "@angular-eslint/bundled-angular-compiler": "npm:19.0.1" - "@angular-eslint/utils": "npm:19.0.1" + "@angular-eslint/bundled-angular-compiler": "npm:19.0.2" + "@angular-eslint/utils": "npm:19.0.2" aria-query: "npm:5.3.2" axobject-query: "npm:4.1.0" peerDependencies: @@ -304,47 +304,47 @@ __metadata: "@typescript-eslint/utils": ^7.11.0 || ^8.0.0 eslint: ^8.57.0 || ^9.0.0 typescript: "*" - checksum: 10/126a0b42f446eecaa85dafc5659f8c528ce0455a801034d35d56b4b03b534b37a4bc1b34ab950a3801800973e148aab3fe3cbe7a10594e716ac9fc2225fae624 + checksum: 10/a041a52264b27e5c784947a0e9a5188b33920473997cc4dce8f638a8dec0d657118cba13d106a040d3a2830d1f0f3ed1d86804ab957e70925cb0e01da4ff9818 languageName: node linkType: hard -"@angular-eslint/eslint-plugin@npm:19.0.1": - version: 19.0.1 - resolution: "@angular-eslint/eslint-plugin@npm:19.0.1" +"@angular-eslint/eslint-plugin@npm:19.0.2": + version: 19.0.2 + resolution: "@angular-eslint/eslint-plugin@npm:19.0.2" dependencies: - "@angular-eslint/bundled-angular-compiler": "npm:19.0.1" - "@angular-eslint/utils": "npm:19.0.1" + "@angular-eslint/bundled-angular-compiler": "npm:19.0.2" + "@angular-eslint/utils": "npm:19.0.2" peerDependencies: "@typescript-eslint/utils": ^7.11.0 || ^8.0.0 eslint: ^8.57.0 || ^9.0.0 typescript: "*" - checksum: 10/fac8ce076e36bc3add50de00e5a0d278bedcb55b442b9953af71f1206b2990c022085a5481540ec91139c58af075f9a8fc4173c6419750bf7a0e1b9e2458e2bd + checksum: 10/a34b049da1af708890a7ecf7ea58224ee9ac2723835aa062978f13c44eda1357dca702979b3b9ffbbc0908dd60764555022507411038cfff08f0f502e8b57a81 languageName: node linkType: hard -"@angular-eslint/template-parser@npm:19.0.1": - version: 19.0.1 - resolution: "@angular-eslint/template-parser@npm:19.0.1" +"@angular-eslint/template-parser@npm:19.0.2": + version: 19.0.2 + resolution: "@angular-eslint/template-parser@npm:19.0.2" dependencies: - "@angular-eslint/bundled-angular-compiler": "npm:19.0.1" + "@angular-eslint/bundled-angular-compiler": "npm:19.0.2" eslint-scope: "npm:^8.0.2" peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: "*" - checksum: 10/8121e6b6df707786625b130101830d7673356e9e83cd27ab0448c327ea82f829989c731f23a5caa44963325a79c8d39d4f9b97ceede7d44bdc86103f46c26968 + checksum: 10/2a4816dc0c4cd3828173d404c24638fd22adc23e491f153f8fa20d30db9cc42a204ef8e4d7d6e1a6741dbb807c12282218e993e56d8a24da1ff83a208ee7f05c languageName: node linkType: hard -"@angular-eslint/utils@npm:19.0.1": - version: 19.0.1 - resolution: "@angular-eslint/utils@npm:19.0.1" +"@angular-eslint/utils@npm:19.0.2": + version: 19.0.2 + resolution: "@angular-eslint/utils@npm:19.0.2" dependencies: - "@angular-eslint/bundled-angular-compiler": "npm:19.0.1" + "@angular-eslint/bundled-angular-compiler": "npm:19.0.2" peerDependencies: "@typescript-eslint/utils": ^7.11.0 || ^8.0.0 eslint: ^8.57.0 || ^9.0.0 typescript: "*" - checksum: 10/7055756a040581115f3716628846154eafe86a20b3f1562f6f819bf321048652945b6098a94743b02202128da325f8d880067017897771c36d178881fe6779aa + checksum: 10/a395ae29d71f2fc6056fdbd813cdb327747f61a49bf1cd58f43e89e17466f2822c9edb02f6d765e7e905bf54dd37af3d8dc7c2128b3a67ae30b15c35d89f4426 languageName: node linkType: hard @@ -601,6 +601,23 @@ __metadata: languageName: node linkType: hard +"@antfu/install-pkg@npm:^0.4.1": + version: 0.4.1 + resolution: "@antfu/install-pkg@npm:0.4.1" + dependencies: + package-manager-detector: "npm:^0.2.0" + tinyexec: "npm:^0.3.0" + checksum: 10/3ffd59fa5a21dcb4951a037f5c91dfbfc152adfef9e7ba231a968f108aa28c1cd22213c437a8d34f2bfea8c2b9a6df20447eb04be15b534a8e9e21a9dcf203c0 + languageName: node + linkType: hard + +"@antfu/utils@npm:^0.7.10": + version: 0.7.10 + resolution: "@antfu/utils@npm:0.7.10" + checksum: 10/c8c2797aeab3e88f0095dea5736d2f16137a7213195e568246792b2cceecb184234f018346dc07c252c62e4d9085c09ce6bd180da833266cafa65133fb03e075 + languageName: node + linkType: hard + "@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.25.9, @babel/code-frame@npm:^7.26.0, @babel/code-frame@npm:^7.26.2": version: 7.26.2 resolution: "@babel/code-frame@npm:7.26.2" @@ -1961,10 +1978,52 @@ __metadata: languageName: node linkType: hard -"@braintree/sanitize-url@npm:^6.0.1": - version: 6.0.4 - resolution: "@braintree/sanitize-url@npm:6.0.4" - checksum: 10/52de7e19df29039134e2f0fbe6d11dbc15423d18799dc5306fbc2c92d6a7bd0e6c3c079c09be99260647cc85c3ca910e2099d819965a1d8604d05e5d3f3bb358 +"@braintree/sanitize-url@npm:^7.0.1": + version: 7.1.1 + resolution: "@braintree/sanitize-url@npm:7.1.1" + checksum: 10/a8a5535c5a0a459ba593a018c554b35493dff004fd09d7147db67243df83bce3d410b89ee7dc2d95cce195b85b877c72f8ca149e1040110a945d193c67293af0 + languageName: node + linkType: hard + +"@chevrotain/cst-dts-gen@npm:11.0.3": + version: 11.0.3 + resolution: "@chevrotain/cst-dts-gen@npm:11.0.3" + dependencies: + "@chevrotain/gast": "npm:11.0.3" + "@chevrotain/types": "npm:11.0.3" + lodash-es: "npm:4.17.21" + checksum: 10/601d23fa3312bd0e32816bd3f9ca2dcba775a52192a082fd6c5e4a2e8ee068523401191babbe2c346d6d2551900a67b549f2f74d7ebb7d5b2ee1b6fa3c8857a0 + languageName: node + linkType: hard + +"@chevrotain/gast@npm:11.0.3": + version: 11.0.3 + resolution: "@chevrotain/gast@npm:11.0.3" + dependencies: + "@chevrotain/types": "npm:11.0.3" + lodash-es: "npm:4.17.21" + checksum: 10/7169453a8fbfa994e91995523dea09eab87ab23062ad93f6e51f4a3b03f5e2958e0a8b99d5ca6fa067fccfbbbb8bcf1a4573ace2e1b5a455f6956af9eaccb35a + languageName: node + linkType: hard + +"@chevrotain/regexp-to-ast@npm:11.0.3": + version: 11.0.3 + resolution: "@chevrotain/regexp-to-ast@npm:11.0.3" + checksum: 10/7387a1c61c5a052de41e1172b33eaaedea166fcdb1ffe4c381b86d00051a8014855a031d28fb658768a62c833ef5f5b0689d0c40de3d7bed556f8fea24396e69 + languageName: node + linkType: hard + +"@chevrotain/types@npm:11.0.3": + version: 11.0.3 + resolution: "@chevrotain/types@npm:11.0.3" + checksum: 10/49a82b71d2de8ceb2383ff2709fa61d245f2ab2e42790b70c57102c80846edaa318d0b3645aedc904d23ea7bd9be8a58f2397b1341760a15eb5aa95a1336e2a9 + languageName: node + linkType: hard + +"@chevrotain/utils@npm:11.0.3": + version: 11.0.3 + resolution: "@chevrotain/utils@npm:11.0.3" + checksum: 10/29b5d84373a7761ad055c53e2f540a67b5b56550d5be1c473149f6b8923eef87ff391ce021c06ac7653843b0149f6ff0cf30b5e48c3f825d295eb06a6c517bd3 languageName: node linkType: hard @@ -3341,6 +3400,29 @@ __metadata: languageName: node linkType: hard +"@iconify/types@npm:^2.0.0": + version: 2.0.0 + resolution: "@iconify/types@npm:2.0.0" + checksum: 10/1b3425ecbc0eef44f23d3f27355ae7ef306d5119c566f013ef1849995b016e1fdcc5af6b74c3bc0554485d70cf5179cb9c1095b14d662a55abcae1148e1a13c9 + languageName: node + linkType: hard + +"@iconify/utils@npm:^2.1.32": + version: 2.2.1 + resolution: "@iconify/utils@npm:2.2.1" + dependencies: + "@antfu/install-pkg": "npm:^0.4.1" + "@antfu/utils": "npm:^0.7.10" + "@iconify/types": "npm:^2.0.0" + debug: "npm:^4.4.0" + globals: "npm:^15.13.0" + kolorist: "npm:^1.8.0" + local-pkg: "npm:^0.5.1" + mlly: "npm:^1.7.3" + checksum: 10/4e6d14375e730b98896427a833decb2bd16164c11529ea0af102ab3e979259f5ab7c57fb65ac76af2d5c3d1f676b243d06b444ee894fcc728593798585379185 + languageName: node + linkType: hard + "@inquirer/checkbox@npm:^4.0.2": version: 4.0.4 resolution: "@inquirer/checkbox@npm:4.0.4" @@ -4087,6 +4169,15 @@ __metadata: languageName: node linkType: hard +"@mermaid-js/parser@npm:^0.3.0": + version: 0.3.0 + resolution: "@mermaid-js/parser@npm:0.3.0" + dependencies: + langium: "npm:3.0.0" + checksum: 10/39abb7a369f023edcc691505cac07dcbc786217d739fdab2e37537438ccf2786de71c64f3a62a34e72ee6ed2bd4b70bf80417185b68e50b747b0af112e5f3ef3 + languageName: node + linkType: hard + "@module-federation/bridge-react-webpack-plugin@npm:0.7.6": version: 0.7.6 resolution: "@module-federation/bridge-react-webpack-plugin@npm:0.7.6" @@ -6763,14 +6854,176 @@ __metadata: languageName: node linkType: hard -"@types/d3-scale-chromatic@npm:^3.0.0": +"@types/d3-array@npm:*": + version: 3.2.1 + resolution: "@types/d3-array@npm:3.2.1" + checksum: 10/4a9ecacaa859cff79e10dcec0c79053f027a4749ce0a4badeaff7400d69a9c44eb8210b147916b6ff5309be049030e7d68a0e333294ff3fa11c44aa1af4ba458 + languageName: node + linkType: hard + +"@types/d3-axis@npm:*": + version: 3.0.6 + resolution: "@types/d3-axis@npm:3.0.6" + dependencies: + "@types/d3-selection": "npm:*" + checksum: 10/8af56b629a0597ac8ef5051b6ad5390818462d8e588e1b52fb181808b1c0525d12a658730fad757e1ae256d0db170a0e29076acdef21acc98b954608d1c37b84 + languageName: node + linkType: hard + +"@types/d3-brush@npm:*": + version: 3.0.6 + resolution: "@types/d3-brush@npm:3.0.6" + dependencies: + "@types/d3-selection": "npm:*" + checksum: 10/4095cee2512d965732147493c471a8dd97dfb5967479d9aef43397f8b0e074b03296302423b8379c4274f9249b52bd1d74cc021f98d4f64b5a8a4a7e6fe48335 + languageName: node + linkType: hard + +"@types/d3-chord@npm:*": + version: 3.0.6 + resolution: "@types/d3-chord@npm:3.0.6" + checksum: 10/ca9ba8b00debd24a2b51527b9c3db63eafa5541c08dc721d1c52ca19960c5cec93a7b1acfc0ec072dbca31d134924299755e20a4d1d4ee04b961fc0de841b418 + languageName: node + linkType: hard + +"@types/d3-color@npm:*": + version: 3.1.3 + resolution: "@types/d3-color@npm:3.1.3" + checksum: 10/1cf0f512c09357b25d644ab01b54200be7c9b15c808333b0ccacf767fff36f17520b2fcde9dad45e1bd7ce84befad39b43da42b4fded57680fa2127006ca3ece + languageName: node + linkType: hard + +"@types/d3-contour@npm:*": + version: 3.0.6 + resolution: "@types/d3-contour@npm:3.0.6" + dependencies: + "@types/d3-array": "npm:*" + "@types/geojson": "npm:*" + checksum: 10/e7b7e3972aa71003c21f2c864116ffb95a9175a62ec56ec656a855e5198a66a0830b2ad7fc26811214cfa8c98cdf4190d7d351913ca0913f799fbcf2a4c99b2d + languageName: node + linkType: hard + +"@types/d3-delaunay@npm:*": + version: 6.0.4 + resolution: "@types/d3-delaunay@npm:6.0.4" + checksum: 10/cb8d2c9ed0b39ade3107b9792544a745b2de3811a6bd054813e9dc708b1132fbacd796e54c0602c11b3a14458d14487c5276c1affb7c2b9f25fe55fff88d6d25 + languageName: node + linkType: hard + +"@types/d3-dispatch@npm:*": + version: 3.0.6 + resolution: "@types/d3-dispatch@npm:3.0.6" + checksum: 10/f82076c7d205885480d363c92c19b8e0d6b9e529a3a78ce772f96a7cc4cce01f7941141f148828337035fac9676b13e7440565530491d560fdf12e562cb56573 + languageName: node + linkType: hard + +"@types/d3-drag@npm:*": + version: 3.0.7 + resolution: "@types/d3-drag@npm:3.0.7" + dependencies: + "@types/d3-selection": "npm:*" + checksum: 10/93aba299c3a8d41ee326c5304ab694ceea135ed115c3b2ccab727a5d9bfc935f7f36d3fc416c013010eb755ac536c52adfcb15c195f241dc61f62650cc95088e + languageName: node + linkType: hard + +"@types/d3-dsv@npm:*": + version: 3.0.7 + resolution: "@types/d3-dsv@npm:3.0.7" + checksum: 10/8507f542135cae472781dff1c3b391eceedad0f2032d24ac4a0814e72e2f6877e4ddcb66f44627069977ee61029dc0a729edf659ed73cbf1040f55a7451f05ef + languageName: node + linkType: hard + +"@types/d3-ease@npm:*": + version: 3.0.2 + resolution: "@types/d3-ease@npm:3.0.2" + checksum: 10/d8f92a8a7a008da71f847a16227fdcb53a8938200ecdf8d831ab6b49aba91e8921769761d3bfa7e7191b28f62783bfd8b0937e66bae39d4dd7fb0b63b50d4a94 + languageName: node + linkType: hard + +"@types/d3-fetch@npm:*": + version: 3.0.7 + resolution: "@types/d3-fetch@npm:3.0.7" + dependencies: + "@types/d3-dsv": "npm:*" + checksum: 10/d496475cec7750f75740936e750a0150ca45e924a4f4697ad2c564f3a8f6c4ebc1b1edf8e081936e896532516731dbbaf2efd4890d53274a8eae13f51f821557 + languageName: node + linkType: hard + +"@types/d3-force@npm:*": + version: 3.0.10 + resolution: "@types/d3-force@npm:3.0.10" + checksum: 10/9c35abed2af91b94fc72d6b477188626e628ed89a01016437502c1deaf558da934b5d0cc808c2f2979ac853b6302b3d6ef763eddaff3a55552a55c0be710d5ca + languageName: node + linkType: hard + +"@types/d3-format@npm:*": + version: 3.0.4 + resolution: "@types/d3-format@npm:3.0.4" + checksum: 10/b937ecd2712d4aa38d5b4f5daab9cc8a576383868be1809e046aec99eeb1f1798c139f2e862dc400a82494c763be46087d154891773417f8eb53c73762ba3eb8 + languageName: node + linkType: hard + +"@types/d3-geo@npm:*": + version: 3.1.0 + resolution: "@types/d3-geo@npm:3.1.0" + dependencies: + "@types/geojson": "npm:*" + checksum: 10/e759d98470fe605ff0088247af81c3197cefce72b16eafe8acae606216c3e0a9f908df4e7cd5005ecfe13b8ac8396a51aaa0d282f3ca7d1c3850313a13fac905 + languageName: node + linkType: hard + +"@types/d3-hierarchy@npm:*": + version: 3.1.7 + resolution: "@types/d3-hierarchy@npm:3.1.7" + checksum: 10/9ff6cdedf5557ef9e1e7a65ca3c6846c895c84c1184e11ec6fa48565e96ebf5482d8be5cc791a8bc7f7debbd0e62604ee3da3ddca4f9d58bf6c8b4030567c6c6 + languageName: node + linkType: hard + +"@types/d3-interpolate@npm:*": + version: 3.0.4 + resolution: "@types/d3-interpolate@npm:3.0.4" + dependencies: + "@types/d3-color": "npm:*" + checksum: 10/72a883afd52c91132598b02a8cdfced9e783c54ca7e4459f9e29d5f45d11fb33f2cabc844e42fd65ba6e28f2a931dcce1add8607d2f02ef6fb8ea5b83ae84127 + languageName: node + linkType: hard + +"@types/d3-path@npm:*": + version: 3.1.0 + resolution: "@types/d3-path@npm:3.1.0" + checksum: 10/7348d65c9b37c7023590d4e5ef11e37f9eee62df9fa23e0758da1fbd66a1cbff40e37cbe0b85e9388ab900451e9c18a5a973469e9fd725c8c85c4a3f84647b9d + languageName: node + linkType: hard + +"@types/d3-polygon@npm:*": + version: 3.0.2 + resolution: "@types/d3-polygon@npm:3.0.2" + checksum: 10/7cf1eadb54f02dd3617512b558f4c0f3811f8a6a8c887d9886981c3cc251db28b68329b2b0707d9f517231a72060adbb08855227f89bef6ef30caedc0a67cab2 + languageName: node + linkType: hard + +"@types/d3-quadtree@npm:*": + version: 3.0.6 + resolution: "@types/d3-quadtree@npm:3.0.6" + checksum: 10/4c260c9857d496b7f112cf57680c411c1912cc72538a5846c401429e3ed89a097c66410cfd38b394bfb4733ec2cb47d345b4eb5e202cbfb8e78ab044b535be02 + languageName: node + linkType: hard + +"@types/d3-random@npm:*": + version: 3.0.3 + resolution: "@types/d3-random@npm:3.0.3" + checksum: 10/2c126dda6846f6c7e02c9123a30b4cdf27f3655d19b78456bbb330fbac27acceeeb987318055d3964dba8e6450377ff737db91d81f27c81ca6f4522c9b994ef2 + languageName: node + linkType: hard + +"@types/d3-scale-chromatic@npm:*": version: 3.1.0 resolution: "@types/d3-scale-chromatic@npm:3.1.0" checksum: 10/6b04af931b7cd4aa09f21519970cab44aaae181faf076013ab93ccb0d550ec16f4c8d444c1e9dee1493be4261a8a8bb6f8e6356e6f4c6ba0650011b1e8a38aef languageName: node linkType: hard -"@types/d3-scale@npm:^4.0.3": +"@types/d3-scale@npm:*": version: 4.0.8 resolution: "@types/d3-scale@npm:4.0.8" dependencies: @@ -6779,6 +7032,29 @@ __metadata: languageName: node linkType: hard +"@types/d3-selection@npm:*": + version: 3.0.11 + resolution: "@types/d3-selection@npm:3.0.11" + checksum: 10/2d2d993b9e9553d066566cb22916c632e5911090db99e247bd8c32855a344e6b7c25b674f3c27956c367a6b3b1214b09931ce854788c3be2072003e01f2c75d7 + languageName: node + linkType: hard + +"@types/d3-shape@npm:*": + version: 3.1.6 + resolution: "@types/d3-shape@npm:3.1.6" + dependencies: + "@types/d3-path": "npm:*" + checksum: 10/75abf403ec5b8c11e761256aa6b3546533d61e2e12f15c82bed6b606e963dcdfb9868a2038c46099173c8830423b35ddaf14d1162f96ad9da18a2e90b0fa7d25 + languageName: node + linkType: hard + +"@types/d3-time-format@npm:*": + version: 4.0.3 + resolution: "@types/d3-time-format@npm:4.0.3" + checksum: 10/9dfc1516502ac1c657d6024bdb88b6dc7e21dd7bff88f6187616cf9a0108250f63507a2004901ece4f97cc46602005a2ca2d05c6dbe53e8a0f6899bd60d4ff7a + languageName: node + linkType: hard + "@types/d3-time@npm:*": version: 3.0.4 resolution: "@types/d3-time@npm:3.0.4" @@ -6786,12 +7062,67 @@ __metadata: languageName: node linkType: hard -"@types/debug@npm:^4.0.0": - version: 4.1.12 - resolution: "@types/debug@npm:4.1.12" +"@types/d3-timer@npm:*": + version: 3.0.2 + resolution: "@types/d3-timer@npm:3.0.2" + checksum: 10/1643eebfa5f4ae3eb00b556bbc509444d88078208ec2589ddd8e4a24f230dd4cf2301e9365947e70b1bee33f63aaefab84cd907822aae812b9bc4871b98ab0e1 + languageName: node + linkType: hard + +"@types/d3-transition@npm:*": + version: 3.0.9 + resolution: "@types/d3-transition@npm:3.0.9" + dependencies: + "@types/d3-selection": "npm:*" + checksum: 10/dad647c485440f176117e8a45f31aee9427d8d4dfa174eaa2f01e702641db53ad0f752a144b20987c7189723c4f0afe0bf0f16d95b2a91aa28937eee4339c161 + languageName: node + linkType: hard + +"@types/d3-zoom@npm:*": + version: 3.0.8 + resolution: "@types/d3-zoom@npm:3.0.8" dependencies: - "@types/ms": "npm:*" - checksum: 10/47876a852de8240bfdaf7481357af2b88cb660d30c72e73789abf00c499d6bc7cd5e52f41c915d1b9cd8ec9fef5b05688d7b7aef17f7f272c2d04679508d1053 + "@types/d3-interpolate": "npm:*" + "@types/d3-selection": "npm:*" + checksum: 10/cc6ba975cf4f55f94933413954d81b87feb1ee8b8cee8f2202cf526f218dcb3ba240cbeb04ed80522416201c4a7394b37de3eb695d840a36d190dfb2d3e62cb5 + languageName: node + linkType: hard + +"@types/d3@npm:^7.4.3": + version: 7.4.3 + resolution: "@types/d3@npm:7.4.3" + dependencies: + "@types/d3-array": "npm:*" + "@types/d3-axis": "npm:*" + "@types/d3-brush": "npm:*" + "@types/d3-chord": "npm:*" + "@types/d3-color": "npm:*" + "@types/d3-contour": "npm:*" + "@types/d3-delaunay": "npm:*" + "@types/d3-dispatch": "npm:*" + "@types/d3-drag": "npm:*" + "@types/d3-dsv": "npm:*" + "@types/d3-ease": "npm:*" + "@types/d3-fetch": "npm:*" + "@types/d3-force": "npm:*" + "@types/d3-format": "npm:*" + "@types/d3-geo": "npm:*" + "@types/d3-hierarchy": "npm:*" + "@types/d3-interpolate": "npm:*" + "@types/d3-path": "npm:*" + "@types/d3-polygon": "npm:*" + "@types/d3-quadtree": "npm:*" + "@types/d3-random": "npm:*" + "@types/d3-scale": "npm:*" + "@types/d3-scale-chromatic": "npm:*" + "@types/d3-selection": "npm:*" + "@types/d3-shape": "npm:*" + "@types/d3-time": "npm:*" + "@types/d3-time-format": "npm:*" + "@types/d3-timer": "npm:*" + "@types/d3-transition": "npm:*" + "@types/d3-zoom": "npm:*" + checksum: 10/12234aa093c8661546168becdd8956e892b276f525d96f65a7b32fed886fc6a569fe5a1171bff26fef2a5663960635f460c9504a6f2d242ba281a2b6c8c6465c languageName: node linkType: hard @@ -6893,6 +7224,13 @@ __metadata: languageName: node linkType: hard +"@types/geojson@npm:*": + version: 7946.0.15 + resolution: "@types/geojson@npm:7946.0.15" + checksum: 10/226d7ab59540632b19f7889c76c4c586a5104c18c43a81f32974aa035eafe557f86bd5a79ca5568bb63cbe5bfa9014c8e9a29cb0bb3d2f0bd71b0cc13ad8ccb3 + languageName: node + linkType: hard + "@types/google.visualization@npm:0.0.71": version: 0.0.71 resolution: "@types/google.visualization@npm:0.0.71" @@ -7114,13 +7452,6 @@ __metadata: languageName: node linkType: hard -"@types/ms@npm:*": - version: 0.7.34 - resolution: "@types/ms@npm:0.7.34" - checksum: 10/f38d36e7b6edecd9badc9cf50474159e9da5fa6965a75186cceaf883278611b9df6669dc3a3cc122b7938d317b68a9e3d573d316fcb35d1be47ec9e468c6bd8a - languageName: node - linkType: hard - "@types/node-forge@npm:^1.3.0": version: 1.3.11 resolution: "@types/node-forge@npm:1.3.11" @@ -7293,6 +7624,13 @@ __metadata: languageName: node linkType: hard +"@types/trusted-types@npm:^2.0.7": + version: 2.0.7 + resolution: "@types/trusted-types@npm:2.0.7" + checksum: 10/8e4202766a65877efcf5d5a41b7dd458480b36195e580a3b1085ad21e948bc417d55d6f8af1fd2a7ad008015d4117d5fdfe432731157da3c68678487174e4ba3 + languageName: node + linkType: hard + "@types/ua-parser-js@npm:^0.7.33": version: 0.7.39 resolution: "@types/ua-parser-js@npm:0.7.39" @@ -7307,7 +7645,7 @@ __metadata: languageName: node linkType: hard -"@types/unist@npm:^2, @types/unist@npm:^2.0.0, @types/unist@npm:^2.0.2": +"@types/unist@npm:^2, @types/unist@npm:^2.0.2": version: 2.0.11 resolution: "@types/unist@npm:2.0.11" checksum: 10/6d436e832bc35c6dde9f056ac515ebf2b3384a1d7f63679d12358766f9b313368077402e9c1126a14d827f10370a5485e628bf61aa91117cf4fc882423191a4e @@ -9657,13 +9995,6 @@ __metadata: languageName: node linkType: hard -"character-entities@npm:^2.0.0": - version: 2.0.2 - resolution: "character-entities@npm:2.0.2" - checksum: 10/c8dd1f4bf1a92fccf7d2fad9673660a88b37854557d30f6076c32fedfb92d1420208298829ff1d3b6b4fa1c7012e8326c45e7f5c3ed1e9a09ec177593c521b2f - languageName: node - linkType: hard - "character-reference-invalid@npm:^1.0.0": version: 1.1.4 resolution: "character-reference-invalid@npm:1.1.4" @@ -9678,6 +10009,31 @@ __metadata: languageName: node linkType: hard +"chevrotain-allstar@npm:~0.3.0": + version: 0.3.1 + resolution: "chevrotain-allstar@npm:0.3.1" + dependencies: + lodash-es: "npm:^4.17.21" + peerDependencies: + chevrotain: ^11.0.0 + checksum: 10/a12c0e408c17920b5f8fc095b7981d15609a63b3795946005fdfc77a5bbc692bbdb196ea29ad4655f55bfa7c93bbcbe7fe2e5782475bf65761b33f13a4aa1a77 + languageName: node + linkType: hard + +"chevrotain@npm:~11.0.3": + version: 11.0.3 + resolution: "chevrotain@npm:11.0.3" + dependencies: + "@chevrotain/cst-dts-gen": "npm:11.0.3" + "@chevrotain/gast": "npm:11.0.3" + "@chevrotain/regexp-to-ast": "npm:11.0.3" + "@chevrotain/types": "npm:11.0.3" + "@chevrotain/utils": "npm:11.0.3" + lodash-es: "npm:4.17.21" + checksum: 10/8fa6253e51320dd4c3d386315b925734943e509d7954a2cd917746c0604461191bea57b0fb8fbab1903e0508fd94bfd35ebd0f8eace77cd0f3f42a9ee4f8f676 + languageName: node + linkType: hard + "chokidar@npm:^3.0.0, chokidar@npm:^3.5.3, chokidar@npm:^3.6.0": version: 3.6.0 resolution: "chokidar@npm:3.6.0" @@ -10201,6 +10557,13 @@ __metadata: languageName: node linkType: hard +"confbox@npm:^0.1.8": + version: 0.1.8 + resolution: "confbox@npm:0.1.8" + checksum: 10/4ebcfb1c6a3b25276734ec5722e88768eb61fc02f98e11960b845c5c62bc27fd05f493d2a8244d9675b24ef95afe4c0d511cdcad02c72f5eeea463cc26687999 + languageName: node + linkType: hard + "confusing-browser-globals@npm:^1.0.9": version: 1.0.11 resolution: "confusing-browser-globals@npm:1.0.11" @@ -10814,6 +11177,15 @@ __metadata: languageName: node linkType: hard +"cose-base@npm:^2.2.0": + version: 2.2.0 + resolution: "cose-base@npm:2.2.0" + dependencies: + layout-base: "npm:^2.0.0" + checksum: 10/4d4b16a84188b8f9419d9dbaffca62561f0e0ee125569339782141111aaf2bec1d180270bbaf5a13ac956f6a8c6b74ab2431e456da239982046b9ddb612bde6a + languageName: node + linkType: hard + "cosmiconfig-typescript-loader@npm:^5.0.0": version: 5.1.0 resolution: "cosmiconfig-typescript-loader@npm:5.1.0" @@ -11295,7 +11667,18 @@ __metadata: languageName: node linkType: hard -"cytoscape@npm:^3.28.1": +"cytoscape-fcose@npm:^2.2.0": + version: 2.2.0 + resolution: "cytoscape-fcose@npm:2.2.0" + dependencies: + cose-base: "npm:^2.2.0" + peerDependencies: + cytoscape: ^3.2.0 + checksum: 10/927aa3b29c1d514c6513c5a785d7af7a8d0499eb166de1f42b958ef20d264ef9cbe238da0b65ae01860424972dce1c73017cf2afdae4f02f9a247f7031b00de3 + languageName: node + linkType: hard + +"cytoscape@npm:^3.29.2": version: 3.30.4 resolution: "cytoscape@npm:3.30.4" checksum: 10/26f6b013bf2e4226273a58f5774743bb7a5beeaeb51e30bd92909f67ead37b19ed737a3ca178ec2d51ef9cd7d74560e27588184b5af1ef1f4b05edc956d4a5c5 @@ -11617,7 +12000,7 @@ __metadata: languageName: node linkType: hard -"d3@npm:^7.4.0, d3@npm:^7.8.2": +"d3@npm:^7.9.0": version: 7.9.0 resolution: "d3@npm:7.9.0" dependencies: @@ -11655,13 +12038,13 @@ __metadata: languageName: node linkType: hard -"dagre-d3-es@npm:7.0.10": - version: 7.0.10 - resolution: "dagre-d3-es@npm:7.0.10" +"dagre-d3-es@npm:7.0.11": + version: 7.0.11 + resolution: "dagre-d3-es@npm:7.0.11" dependencies: - d3: "npm:^7.8.2" + d3: "npm:^7.9.0" lodash-es: "npm:^4.17.21" - checksum: 10/09f56dd337cc7d0620d50f20913308d5e8aaffafb0b188a69b0d8ff87915599586224694be3f8d93bd8c383858d358c0140493a11a0df2508de959a4658952c2 + checksum: 10/5ea2faab020019a51e60791237239fc528bc20215503a846ad725c2e32dde6a270a16caf2ed6ec712b11e1c6616595b2b26e2c58f4f0e012218135629833e09b languageName: node linkType: hard @@ -11746,7 +12129,7 @@ __metadata: languageName: node linkType: hard -"dayjs@npm:^1.11.7": +"dayjs@npm:^1.11.10": version: 1.11.13 resolution: "dayjs@npm:1.11.13" checksum: 10/7374d63ab179b8d909a95e74790def25c8986e329ae989840bacb8b1888be116d20e1c4eee75a69ea0dfbae13172efc50ef85619d304ee7ca3c01d5878b704f5 @@ -11762,7 +12145,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.6": +"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.6, debug@npm:^4.4.0": version: 4.4.0 resolution: "debug@npm:4.4.0" dependencies: @@ -11831,15 +12214,6 @@ __metadata: languageName: node linkType: hard -"decode-named-character-reference@npm:^1.0.0": - version: 1.0.2 - resolution: "decode-named-character-reference@npm:1.0.2" - dependencies: - character-entities: "npm:^2.0.0" - checksum: 10/f4c71d3b93105f20076052f9cb1523a22a9c796b8296cd35eef1ca54239c78d182c136a848b83ff8da2071e3ae2b1d300bf29d00650a6d6e675438cc31b11d78 - languageName: node - linkType: hard - "decode-uri-component@npm:^0.2.2": version: 0.2.2 resolution: "decode-uri-component@npm:0.2.2" @@ -12046,13 +12420,6 @@ __metadata: languageName: node linkType: hard -"dequal@npm:^2.0.0": - version: 2.0.3 - resolution: "dequal@npm:2.0.3" - checksum: 10/6ff05a7561f33603df87c45e389c9ac0a95e3c056be3da1a0c4702149e3a7f6fe5ffbb294478687ba51a9e95f3a60e8b6b9005993acd79c292c7d15f71964b6b - languageName: node - linkType: hard - "destroy@npm:1.2.0, destroy@npm:^1.0.4": version: 1.2.0 resolution: "destroy@npm:1.2.0" @@ -12312,13 +12679,6 @@ __metadata: languageName: node linkType: hard -"diff@npm:^5.0.0": - version: 5.2.0 - resolution: "diff@npm:5.2.0" - checksum: 10/01b7b440f83a997350a988e9d2f558366c0f90f15be19f4aa7f1bb3109a4e153dfc3b9fbf78e14ea725717017407eeaa2271e3896374a0181e8f52445740846d - languageName: node - linkType: hard - "dir-glob@npm:^3.0.1": version: 3.0.1 resolution: "dir-glob@npm:3.0.1" @@ -12391,10 +12751,15 @@ __metadata: languageName: node linkType: hard -"dompurify@npm:^3.0.5 <3.1.7": - version: 3.1.6 - resolution: "dompurify@npm:3.1.6" - checksum: 10/036844bc9b717b172ba27f5863b56f950289a05d8eebfb702d6953bbf80bd021e480ce4217bd084567186f2d0ada13358ce5556963492cfe402d774e8667f120 +"dompurify@npm:^3.2.1": + version: 3.2.3 + resolution: "dompurify@npm:3.2.3" + dependencies: + "@types/trusted-types": "npm:^2.0.7" + dependenciesMeta: + "@types/trusted-types": + optional: true + checksum: 10/aad472bcdff40afdbb307fd02abbca86acefee9c39cb35e9634ebbc5e047750a7eeb021b02cd66894d60cf75ad021f69394de2e9e8786b0dd91c5832f497a9af languageName: node linkType: hard @@ -12537,13 +12902,6 @@ __metadata: languageName: node linkType: hard -"elkjs@npm:^0.9.0": - version: 0.9.3 - resolution: "elkjs@npm:0.9.3" - checksum: 10/397986e271827a5e13d2722b1883aea3557006d2777be8c34568f8fe743e81f4f71210e4e81b9958f597b0af8e96afaa883d2705eba84a3d5d0973bcb02fa59e - languageName: node - linkType: hard - "emittery@npm:^0.13.1": version: 0.13.1 resolution: "emittery@npm:0.13.1" @@ -12572,10 +12930,10 @@ __metadata: languageName: node linkType: hard -"emoji-toolkit@npm:^8.0.0": - version: 8.0.0 - resolution: "emoji-toolkit@npm:8.0.0" - checksum: 10/8ff2760fba681c87858a1a055bc791089939c43b0a546775b052ff573177978e4e8589899c3ae4fa821fe35e678b1cb82a787610a673b551ccdf818c5d89ba4d +"emoji-toolkit@npm:>= 8.0.0 < 10.0.0": + version: 9.0.1 + resolution: "emoji-toolkit@npm:9.0.1" + checksum: 10/e2dd3edda04f3b6c0850512438cca8952a2750f04d884b9939850e08a77c296c36b824a298eca42cdce6cd6027df52684e4753cf3d1856a0e5a24560f084d5ee languageName: node linkType: hard @@ -14337,9 +14695,9 @@ __metadata: "@angular-devkit/build-angular": "npm:19.0.4" "@angular-devkit/core": "npm:19.0.4" "@angular-devkit/schematics": "npm:19.0.4" - "@angular-eslint/eslint-plugin": "npm:19.0.1" - "@angular-eslint/eslint-plugin-template": "npm:19.0.1" - "@angular-eslint/template-parser": "npm:19.0.1" + "@angular-eslint/eslint-plugin": "npm:19.0.2" + "@angular-eslint/eslint-plugin-template": "npm:19.0.2" + "@angular-eslint/template-parser": "npm:19.0.2" "@angular/animations": "npm:19.0.3" "@angular/cdk": "npm:19.0.2" "@angular/cli": "npm:~19.0.0" @@ -14433,7 +14791,7 @@ __metadata: moment: "npm:2.29.4" ng-packagr: "npm:19.0.1" ngx-cva-test-suite: "npm:2.0.0" - ngx-markdown: "npm:18.0.0" + ngx-markdown: "npm:19.0.0" nx: "npm:20.2.1" postcss-preset-env: "npm:9.3.0" postcss-url: "npm:10.1.3" @@ -14865,7 +15223,7 @@ __metadata: languageName: node linkType: hard -"globals@npm:^15.9.0": +"globals@npm:^15.13.0, globals@npm:^15.9.0": version: 15.14.0 resolution: "globals@npm:15.14.0" checksum: 10/e35ffbdbc024d6381efca906f67211a7bbf935db2af8c14a65155785479e28b3e475950e5933bb6b296eed54b6dcd924e25b26dbc8579b1bde9d5d25916e1c5f @@ -15002,6 +15360,13 @@ __metadata: languageName: node linkType: hard +"hachure-fill@npm:^0.5.2": + version: 0.5.2 + resolution: "hachure-fill@npm:0.5.2" + checksum: 10/d78f1b992d1c8951a4fc893bf32045748132a8b481c15d6d31c77c05557f5fa86913a2b66b3c3a3c8ce46ca8e0a46b0b2aa11f979bc804d8edba77b8c30eb1ca + languageName: node + linkType: hard + "handle-thing@npm:^2.0.0": version: 2.0.1 resolution: "handle-thing@npm:2.0.1" @@ -17541,7 +17906,7 @@ __metadata: languageName: node linkType: hard -"khroma@npm:^2.0.0": +"khroma@npm:^2.1.0": version: 2.1.0 resolution: "khroma@npm:2.1.0" checksum: 10/a195e317bf6f3a1cba98df2677bf9bf6d14195ee0b1c3e5bc20a542cd99652682f290c196a8963956d87aed4ad65ac0bc8a15d75cddf00801fdafd148e01a5d2 @@ -17562,13 +17927,6 @@ __metadata: languageName: node linkType: hard -"kleur@npm:^4.0.3": - version: 4.1.5 - resolution: "kleur@npm:4.1.5" - checksum: 10/44d84cc4eedd4311099402ef6d4acd9b2d16e08e499d6ef3bb92389bd4692d7ef09e35248c26e27f98acac532122acb12a1bfee645994ae3af4f0a37996da7df - languageName: node - linkType: hard - "klona@npm:^2.0.4, klona@npm:^2.0.5": version: 2.0.6 resolution: "klona@npm:2.0.6" @@ -17624,6 +17982,13 @@ __metadata: languageName: node linkType: hard +"kolorist@npm:^1.8.0": + version: 1.8.0 + resolution: "kolorist@npm:1.8.0" + checksum: 10/71d5d122951cc65f2f14c3e1d7f8fd91694b374647d4f6deec3816d018cd04a44edd9578d93e00c82c2053b925e5d30a0565746c4171f4ca9fce1a13bd5f3315 + languageName: node + linkType: hard + "ky@npm:0.30.0": version: 0.30.0 resolution: "ky@npm:0.30.0" @@ -17645,6 +18010,19 @@ __metadata: languageName: node linkType: hard +"langium@npm:3.0.0": + version: 3.0.0 + resolution: "langium@npm:3.0.0" + dependencies: + chevrotain: "npm:~11.0.3" + chevrotain-allstar: "npm:~0.3.0" + vscode-languageserver: "npm:~9.0.1" + vscode-languageserver-textdocument: "npm:~1.0.11" + vscode-uri: "npm:~3.0.8" + checksum: 10/2b0924373c09acb42ab88ddfe387bdafd33ce7f3cc36fcda4b9a9f864941c699b7e0a48c1afe81a9d9a15e15980d09d7889c8d89d046b92e7f813b9ea5514b12 + languageName: node + linkType: hard + "launch-editor@npm:^2.6.1": version: 2.9.1 resolution: "launch-editor@npm:2.9.1" @@ -17662,6 +18040,13 @@ __metadata: languageName: node linkType: hard +"layout-base@npm:^2.0.0": + version: 2.0.1 + resolution: "layout-base@npm:2.0.1" + checksum: 10/b5cca04a2e327ea16374a0058f73544291aeb0026972677a128594aca3b627d26949140ab7d275798c7d39193a33b41c5a856d4509c1518f49c9a5f1dad39a20 + languageName: node + linkType: hard + "lazystream@npm:^1.0.0": version: 1.0.1 resolution: "lazystream@npm:1.0.1" @@ -18153,6 +18538,16 @@ __metadata: languageName: node linkType: hard +"local-pkg@npm:^0.5.1": + version: 0.5.1 + resolution: "local-pkg@npm:0.5.1" + dependencies: + mlly: "npm:^1.7.3" + pkg-types: "npm:^1.2.1" + checksum: 10/d74aa7226b8cbbf4d7e587332ecb7d7e54e3380b834084eeec3fecfb072a3fc7db27fb0415cb3f4304d4b4055184eb0af43841000b76d33a32f8f3b49108dd20 + languageName: node + linkType: hard + "locate-path@npm:^2.0.0": version: 2.0.0 resolution: "locate-path@npm:2.0.0" @@ -18657,6 +19052,15 @@ __metadata: languageName: node linkType: hard +"marked@npm:^13.0.2": + version: 13.0.3 + resolution: "marked@npm:13.0.3" + bin: + marked: bin/marked.js + checksum: 10/95daf69e316879a3be112793f203093b2646aeeaa1b7eedc6ea7902bff6af44da045cd35c723711645bc7d92dbe872101e5a36976b48164e1efc1356b12a4a57 + languageName: node + linkType: hard + "marky@npm:^1.2.2": version: 1.2.5 resolution: "marky@npm:1.2.5" @@ -18684,26 +19088,6 @@ __metadata: languageName: node linkType: hard -"mdast-util-from-markdown@npm:^1.3.0": - version: 1.3.1 - resolution: "mdast-util-from-markdown@npm:1.3.1" - dependencies: - "@types/mdast": "npm:^3.0.0" - "@types/unist": "npm:^2.0.0" - decode-named-character-reference: "npm:^1.0.0" - mdast-util-to-string: "npm:^3.1.0" - micromark: "npm:^3.0.0" - micromark-util-decode-numeric-character-reference: "npm:^1.0.0" - micromark-util-decode-string: "npm:^1.0.0" - micromark-util-normalize-identifier: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - unist-util-stringify-position: "npm:^3.0.0" - uvu: "npm:^0.5.0" - checksum: 10/1d334a54ddd6481ec4acf64c2c537b6463bc5113ba5a408f65c228dcc302d46837352814f11307af0f8b51dd7e4a0b887ce692e4d30ff31ff9d578b8ca82810b - languageName: node - linkType: hard - "mdast-util-to-string@npm:^2.0.0": version: 2.0.0 resolution: "mdast-util-to-string@npm:2.0.0" @@ -18711,15 +19095,6 @@ __metadata: languageName: node linkType: hard -"mdast-util-to-string@npm:^3.1.0": - version: 3.2.0 - resolution: "mdast-util-to-string@npm:3.2.0" - dependencies: - "@types/mdast": "npm:^3.0.0" - checksum: 10/fafe201c12a0d412a875fe8540bf70b4360f3775fb7f0d19403ba7b59e50f74f730e3b405c72ad940bc8a3ec1ba311f76dfca61c4ce585dce1ccda2168ec244f - languageName: node - linkType: hard - "mdn-data@npm:2.0.28": version: 2.0.28 resolution: "mdn-data@npm:2.0.28" @@ -18816,31 +19191,31 @@ __metadata: languageName: node linkType: hard -"mermaid@npm:^10.6.0": - version: 10.9.3 - resolution: "mermaid@npm:10.9.3" +"mermaid@npm:>= 10.6.0 < 12.0.0": + version: 11.4.1 + resolution: "mermaid@npm:11.4.1" dependencies: - "@braintree/sanitize-url": "npm:^6.0.1" - "@types/d3-scale": "npm:^4.0.3" - "@types/d3-scale-chromatic": "npm:^3.0.0" - cytoscape: "npm:^3.28.1" + "@braintree/sanitize-url": "npm:^7.0.1" + "@iconify/utils": "npm:^2.1.32" + "@mermaid-js/parser": "npm:^0.3.0" + "@types/d3": "npm:^7.4.3" + cytoscape: "npm:^3.29.2" cytoscape-cose-bilkent: "npm:^4.1.0" - d3: "npm:^7.4.0" + cytoscape-fcose: "npm:^2.2.0" + d3: "npm:^7.9.0" d3-sankey: "npm:^0.12.3" - dagre-d3-es: "npm:7.0.10" - dayjs: "npm:^1.11.7" - dompurify: "npm:^3.0.5 <3.1.7" - elkjs: "npm:^0.9.0" + dagre-d3-es: "npm:7.0.11" + dayjs: "npm:^1.11.10" + dompurify: "npm:^3.2.1" katex: "npm:^0.16.9" - khroma: "npm:^2.0.0" + khroma: "npm:^2.1.0" lodash-es: "npm:^4.17.21" - mdast-util-from-markdown: "npm:^1.3.0" - non-layered-tidy-tree-layout: "npm:^2.0.2" - stylis: "npm:^4.1.3" + marked: "npm:^13.0.2" + roughjs: "npm:^4.6.6" + stylis: "npm:^4.3.1" ts-dedent: "npm:^2.2.0" - uuid: "npm:^9.0.0" - web-worker: "npm:^1.2.0" - checksum: 10/ca6ed9e6a24a7d8777ea9f145d7dc5b66e2070cfb7afa39b77532ebe6ebf6e7a1e9ae617ccc9b47ca493d862a27487ea13f841ccd1184107e4ac689d4b3d4c38 + uuid: "npm:^9.0.1" + checksum: 10/7ae025585f31a4814ae685bb814e6903c43ce6ca5216e86ba8ffdbc5b67a5de071ede99327a00c1389cf5e176433a84e76b823963e6ca7ac1f521c3436317fe6 languageName: node linkType: hard @@ -18851,242 +19226,6 @@ __metadata: languageName: node linkType: hard -"micromark-core-commonmark@npm:^1.0.1": - version: 1.1.0 - resolution: "micromark-core-commonmark@npm:1.1.0" - dependencies: - decode-named-character-reference: "npm:^1.0.0" - micromark-factory-destination: "npm:^1.0.0" - micromark-factory-label: "npm:^1.0.0" - micromark-factory-space: "npm:^1.0.0" - micromark-factory-title: "npm:^1.0.0" - micromark-factory-whitespace: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-chunked: "npm:^1.0.0" - micromark-util-classify-character: "npm:^1.0.0" - micromark-util-html-tag-name: "npm:^1.0.0" - micromark-util-normalize-identifier: "npm:^1.0.0" - micromark-util-resolve-all: "npm:^1.0.0" - micromark-util-subtokenize: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.1" - uvu: "npm:^0.5.0" - checksum: 10/a73694d223ac8baad8ff00597a3c39d61f5b32bfd56fe4bcf295d75b2a4e8e67fb2edbfc7cc287b362b9d7f6d24fce08b6a7e8b5b155d79bcc1e4d9b2756ffb2 - languageName: node - linkType: hard - -"micromark-factory-destination@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-factory-destination@npm:1.1.0" - dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10/9e2b5fb5fedbf622b687e20d51eb3d56ae90c0e7ecc19b37bd5285ec392c1e56f6e21aa7cfcb3c01eda88df88fe528f3acb91a5f57d7f4cba310bc3cd7f824fa - languageName: node - linkType: hard - -"micromark-factory-label@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-factory-label@npm:1.1.0" - dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10/fcda48f1287d9b148c562c627418a2ab759cdeae9c8e017910a0cba94bb759a96611e1fc6df33182e97d28fbf191475237298983bb89ef07d5b02464b1ad28d5 - languageName: node - linkType: hard - -"micromark-factory-space@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-factory-space@npm:1.1.0" - dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10/b58435076b998a7e244259a4694eb83c78915581206b6e7fc07b34c6abd36a1726ade63df8972fbf6c8fa38eecb9074f4e17be8d53f942e3b3d23d1a0ecaa941 - languageName: node - linkType: hard - -"micromark-factory-title@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-factory-title@npm:1.1.0" - dependencies: - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10/4432d3dbc828c81f483c5901b0c6591a85d65a9e33f7d96ba7c3ae821617a0b3237ff5faf53a9152d00aaf9afb3a9f185b205590f40ed754f1d9232e0e9157b1 - languageName: node - linkType: hard - -"micromark-factory-whitespace@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-factory-whitespace@npm:1.1.0" - dependencies: - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10/ef0fa682c7d593d85a514ee329809dee27d10bc2a2b65217d8ef81173e33b8e83c549049764b1ad851adfe0a204dec5450d9d20a4ca8598f6c94533a73f73fcd - languageName: node - linkType: hard - -"micromark-util-character@npm:^1.0.0": - version: 1.2.0 - resolution: "micromark-util-character@npm:1.2.0" - dependencies: - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10/88cf80f9b4c95266f24814ef587fb4180454668dcc3be4ac829e1227188cf349c8981bfca29e3eab1682f324c2c47544c0b0b799a26fbf9df5f156c6a84c970c - languageName: node - linkType: hard - -"micromark-util-chunked@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-chunked@npm:1.1.0" - dependencies: - micromark-util-symbol: "npm:^1.0.0" - checksum: 10/c435bde9110cb595e3c61b7f54c2dc28ee03e6a57fa0fc1e67e498ad8bac61ee5a7457a2b6a73022ddc585676ede4b912d28dcf57eb3bd6951e54015e14dc20b - languageName: node - linkType: hard - -"micromark-util-classify-character@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-classify-character@npm:1.1.0" - dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10/8499cb0bb1f7fb946f5896285fcca65cd742f66cd3e79ba7744792bd413ec46834f932a286de650349914d02e822946df3b55d03e6a8e1d245d1ddbd5102e5b0 - languageName: node - linkType: hard - -"micromark-util-combine-extensions@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-combine-extensions@npm:1.1.0" - dependencies: - micromark-util-chunked: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10/ee78464f5d4b61ccb437850cd2d7da4d690b260bca4ca7a79c4bb70291b84f83988159e373b167181b6716cb197e309bc6e6c96a68cc3ba9d50c13652774aba9 - languageName: node - linkType: hard - -"micromark-util-decode-numeric-character-reference@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-decode-numeric-character-reference@npm:1.1.0" - dependencies: - micromark-util-symbol: "npm:^1.0.0" - checksum: 10/4733fe75146e37611243f055fc6847137b66f0cde74d080e33bd26d0408c1d6f44cabc984063eee5968b133cb46855e729d555b9ff8d744652262b7b51feec73 - languageName: node - linkType: hard - -"micromark-util-decode-string@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-decode-string@npm:1.1.0" - dependencies: - decode-named-character-reference: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-decode-numeric-character-reference: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - checksum: 10/f1625155db452f15aa472918499689ba086b9c49d1322a08b22bfbcabe918c61b230a3002c8bc3ea9b1f52ca7a9bb1c3dd43ccb548c7f5f8b16c24a1ae77a813 - languageName: node - linkType: hard - -"micromark-util-encode@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-encode@npm:1.1.0" - checksum: 10/4ef29d02b12336918cea6782fa87c8c578c67463925221d4e42183a706bde07f4b8b5f9a5e1c7ce8c73bb5a98b261acd3238fecd152e6dd1cdfa2d1ae11b60a0 - languageName: node - linkType: hard - -"micromark-util-html-tag-name@npm:^1.0.0": - version: 1.2.0 - resolution: "micromark-util-html-tag-name@npm:1.2.0" - checksum: 10/ccf0fa99b5c58676dc5192c74665a3bfd1b536fafaf94723bd7f31f96979d589992df6fcf2862eba290ef18e6a8efb30ec8e1e910d9f3fc74f208871e9f84750 - languageName: node - linkType: hard - -"micromark-util-normalize-identifier@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-normalize-identifier@npm:1.1.0" - dependencies: - micromark-util-symbol: "npm:^1.0.0" - checksum: 10/8655bea41ffa4333e03fc22462cb42d631bbef9c3c07b625fd852b7eb442a110f9d2e5902a42e65188d85498279569502bf92f3434a1180fc06f7c37edfbaee2 - languageName: node - linkType: hard - -"micromark-util-resolve-all@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-resolve-all@npm:1.1.0" - dependencies: - micromark-util-types: "npm:^1.0.0" - checksum: 10/1ce6c0237cd3ca061e76fae6602cf95014e764a91be1b9f10d36cb0f21ca88f9a07de8d49ab8101efd0b140a4fbfda6a1efb72027ab3f4d5b54c9543271dc52c - languageName: node - linkType: hard - -"micromark-util-sanitize-uri@npm:^1.0.0": - version: 1.2.0 - resolution: "micromark-util-sanitize-uri@npm:1.2.0" - dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-encode: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - checksum: 10/0d024100d95ffb88bf75f3360e305b545c1eb745430959b8633f7aa93f37ec401fc7094c90c97298409a9e30d94d53b895bae224e1bb966bea114976cfa0fd48 - languageName: node - linkType: hard - -"micromark-util-subtokenize@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-subtokenize@npm:1.1.0" - dependencies: - micromark-util-chunked: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10/075a1db6ea586d65827d3eead33dbfc520c4e43659c93fcd8fd82f44a7b75cfe61dcde967a3dfcc2ffd999347440ba5aa6698e65a04f3fc627e13e9f12a1a910 - languageName: node - linkType: hard - -"micromark-util-symbol@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-symbol@npm:1.1.0" - checksum: 10/a26b6b1efd77a715a4d9bbe0a5338eaf3d04ea5e85733e34fee56dfeabf64495c0afc5438fe5220316884cd3a5eae1f17768e0ff4e117827ea4a653897466f86 - languageName: node - linkType: hard - -"micromark-util-types@npm:^1.0.0, micromark-util-types@npm:^1.0.1": - version: 1.1.0 - resolution: "micromark-util-types@npm:1.1.0" - checksum: 10/287ac5de4a3802bb6f6c3842197c294997a488db1c0486e03c7a8e674d9eb7720c17dda1bcb814814b8343b338c4826fcbc0555f3e75463712a60dcdb53a028e - languageName: node - linkType: hard - -"micromark@npm:^3.0.0": - version: 3.2.0 - resolution: "micromark@npm:3.2.0" - dependencies: - "@types/debug": "npm:^4.0.0" - debug: "npm:^4.0.0" - decode-named-character-reference: "npm:^1.0.0" - micromark-core-commonmark: "npm:^1.0.1" - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-chunked: "npm:^1.0.0" - micromark-util-combine-extensions: "npm:^1.0.0" - micromark-util-decode-numeric-character-reference: "npm:^1.0.0" - micromark-util-encode: "npm:^1.0.0" - micromark-util-normalize-identifier: "npm:^1.0.0" - micromark-util-resolve-all: "npm:^1.0.0" - micromark-util-sanitize-uri: "npm:^1.0.0" - micromark-util-subtokenize: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.1" - uvu: "npm:^0.5.0" - checksum: 10/560a4a501efc3859d622461aaa9345fb95b99a2f34d3d3f2a775ab04de1dd857cb0f642083a6b28ab01bd817f5f0741a1be9857fd702f45e04a3752927a66719 - languageName: node - linkType: hard - "micromark@npm:~2.11.0": version: 2.11.4 resolution: "micromark@npm:2.11.4" @@ -19472,6 +19611,18 @@ __metadata: languageName: node linkType: hard +"mlly@npm:^1.7.3": + version: 1.7.3 + resolution: "mlly@npm:1.7.3" + dependencies: + acorn: "npm:^8.14.0" + pathe: "npm:^1.1.2" + pkg-types: "npm:^1.2.1" + ufo: "npm:^1.5.4" + checksum: 10/77921e4b37f48e939b9879dbf3d3734086a69a97ddfe9adc5ae7b026ee2f73a0bcac4511c6c645cee79ccc2852c24b83f93bfd29ada7a7a3259cb943569fc7f6 + languageName: node + linkType: hard + "modify-values@npm:^1.0.0, modify-values@npm:^1.0.1": version: 1.0.1 resolution: "modify-values@npm:1.0.1" @@ -19512,13 +19663,6 @@ __metadata: languageName: node linkType: hard -"mri@npm:^1.1.0": - version: 1.2.0 - resolution: "mri@npm:1.2.0" - checksum: 10/6775a1d2228bb9d191ead4efc220bd6be64f943ad3afd4dcb3b3ac8fc7b87034443f666e38805df38e8d047b29f910c3cc7810da0109af83e42c82c73bd3f6bc - languageName: node - linkType: hard - "mrmime@npm:2.0.0": version: 2.0.0 resolution: "mrmime@npm:2.0.0" @@ -19756,23 +19900,23 @@ __metadata: languageName: node linkType: hard -"ngx-markdown@npm:18.0.0": - version: 18.0.0 - resolution: "ngx-markdown@npm:18.0.0" +"ngx-markdown@npm:19.0.0": + version: 19.0.0 + resolution: "ngx-markdown@npm:19.0.0" dependencies: clipboard: "npm:^2.0.11" - emoji-toolkit: "npm:^8.0.0" + emoji-toolkit: "npm:>= 8.0.0 < 10.0.0" katex: "npm:^0.16.0" - mermaid: "npm:^10.6.0" + mermaid: "npm:>= 10.6.0 < 12.0.0" prismjs: "npm:^1.28.0" tslib: "npm:^2.3.0" peerDependencies: - "@angular/common": ^18.0.0 - "@angular/core": ^18.0.0 - "@angular/platform-browser": ^18.0.0 - marked: ">= 9.0.0 < 13.0.0" + "@angular/common": ^19.0.0 + "@angular/core": ^19.0.0 + "@angular/platform-browser": ^19.0.0 + marked: ^15.0.0 rxjs: ^6.5.3 || ^7.4.0 - zone.js: ~0.14.0 + zone.js: ~0.15.0 dependenciesMeta: clipboard: optional: true @@ -19784,7 +19928,7 @@ __metadata: optional: true prismjs: optional: true - checksum: 10/da952e218c1530cc83b54cff7bca49d9734fbf5b17db96b0d2fee84610dc0efa9b2c5e6f24b5d4895e41bbdc704685081db68d6f1b4d0d54b0df6e5b0a8a9a67 + checksum: 10/bef678af34699f0c75df8ef5339accb7ab0c826471864065a09297278d5e102e11e08ad29e0d39838a69b77e51adfcb29c9310fba5f2d2cf0db1d5f9c5a02aed languageName: node linkType: hard @@ -19952,13 +20096,6 @@ __metadata: languageName: node linkType: hard -"non-layered-tidy-tree-layout@npm:^2.0.2": - version: 2.0.2 - resolution: "non-layered-tidy-tree-layout@npm:2.0.2" - checksum: 10/615b4da455a4ed761cc1563b126450c92f14d2d92c75cfd861fec495557a48768c5bf3012f080c8e58ecb093bfd2268a636515963a1e769f5a7029d057fa169a - languageName: node - linkType: hard - "nopt@npm:^7.0.0, nopt@npm:^7.2.1": version: 7.2.1 resolution: "nopt@npm:7.2.1" @@ -20863,6 +21000,13 @@ __metadata: languageName: node linkType: hard +"package-manager-detector@npm:^0.2.0": + version: 0.2.8 + resolution: "package-manager-detector@npm:0.2.8" + checksum: 10/deb7c5abeed0ac88c9014230355ab79695d2a600e6361d91f55fcb67cc359e7106b04b23d22dee18af1388daed7385c3260229602a33617d0247ad86d8ab69ec + languageName: node + linkType: hard + "pacote@npm:20.0.0": version: 20.0.0 resolution: "pacote@npm:20.0.0" @@ -21094,6 +21238,13 @@ __metadata: languageName: node linkType: hard +"path-data-parser@npm:0.1.0, path-data-parser@npm:^0.1.0": + version: 0.1.0 + resolution: "path-data-parser@npm:0.1.0" + checksum: 10/a23a214adb38074576a8873d25e8dea7e090b8396d86f58f83f3f6c6298ff56b06adc694147b67f0ed22f14dc478efa1d525710d3ec7b2d7b1efbac57e3fafe6 + languageName: node + linkType: hard + "path-exists@npm:^2.0.0": version: 2.1.0 resolution: "path-exists@npm:2.1.0" @@ -21210,6 +21361,13 @@ __metadata: languageName: node linkType: hard +"pathe@npm:^1.1.2": + version: 1.1.2 + resolution: "pathe@npm:1.1.2" + checksum: 10/f201d796351bf7433d147b92c20eb154a4e0ea83512017bf4ec4e492a5d6e738fb45798be4259a61aa81270179fce11026f6ff0d3fa04173041de044defe9d80 + languageName: node + linkType: hard + "peek-readable@npm:^5.1.3": version: 5.3.1 resolution: "peek-readable@npm:5.3.1" @@ -21354,6 +21512,34 @@ __metadata: languageName: node linkType: hard +"pkg-types@npm:^1.2.1": + version: 1.3.0 + resolution: "pkg-types@npm:1.3.0" + dependencies: + confbox: "npm:^0.1.8" + mlly: "npm:^1.7.3" + pathe: "npm:^1.1.2" + checksum: 10/b50118d184dc7b2a9082582b677cce009e6b725cd6d419ac52b2f23c05904cd69a7b723388cc0f37b85937a261f53cea2089c9defbef697f9952176709b192d9 + languageName: node + linkType: hard + +"points-on-curve@npm:0.2.0, points-on-curve@npm:^0.2.0": + version: 0.2.0 + resolution: "points-on-curve@npm:0.2.0" + checksum: 10/3f9a4a9f5a624bb307a72f5cdf1f7c29bedc546716664a2cfd7228085308575e63b461a3e64a88d3b451031655714eb49469d2ced392ee014b709132cd59be93 + languageName: node + linkType: hard + +"points-on-path@npm:^0.2.1": + version: 0.2.1 + resolution: "points-on-path@npm:0.2.1" + dependencies: + path-data-parser: "npm:0.1.0" + points-on-curve: "npm:0.2.0" + checksum: 10/8b3f42feb24433b4a3e0b1c1f951340f06f523b26ed4d87446829f500f1468ad1484a6bf7fedf076ff4b492ae6b1daa7ffc07c7a8f7c00f4d072f17f79fe9ed0 + languageName: node + linkType: hard + "portfinder@npm:^1.0.28": version: 1.0.32 resolution: "portfinder@npm:1.0.32" @@ -23371,6 +23557,18 @@ __metadata: languageName: node linkType: hard +"roughjs@npm:^4.6.6": + version: 4.6.6 + resolution: "roughjs@npm:4.6.6" + dependencies: + hachure-fill: "npm:^0.5.2" + path-data-parser: "npm:^0.1.0" + points-on-curve: "npm:^0.2.0" + points-on-path: "npm:^0.2.1" + checksum: 10/76bd1e892d79b002dbc0591a28442462e027a77edfcdcd3dbbd2e404fa6d248891ade84ca656b24b1d40a29e3a9df5831633b7a7bb5c8551adcdac480a3dce79 + languageName: node + linkType: hard + "run-applescript@npm:^7.0.0": version: 7.0.0 resolution: "run-applescript@npm:7.0.0" @@ -23410,15 +23608,6 @@ __metadata: languageName: node linkType: hard -"sade@npm:^1.7.3": - version: 1.8.1 - resolution: "sade@npm:1.8.1" - dependencies: - mri: "npm:^1.1.0" - checksum: 10/1c67ba03c94083e0ae307ff5564ecb86c2104c0f558042fdaa40ea0054f91a63a9783f14069870f2f784336adabb70f90f22a84dc457b5a25e859aaadefe0910 - languageName: node - linkType: hard - "safe-array-concat@npm:^1.1.3": version: 1.1.3 resolution: "safe-array-concat@npm:1.1.3" @@ -24656,7 +24845,7 @@ __metadata: languageName: node linkType: hard -"stylis@npm:^4.1.3": +"stylis@npm:^4.3.1": version: 4.3.4 resolution: "stylis@npm:4.3.4" checksum: 10/69b902a3c9fc3329c8ddb18d422f8130068356dd4d4a20ae245953679cc88ae08d49c55e32b0b57c8fe8a76f2ed7f32697240b8db4d368a25fc2db045ebaeba8 @@ -25042,6 +25231,13 @@ __metadata: languageName: node linkType: hard +"tinyexec@npm:^0.3.0": + version: 0.3.1 + resolution: "tinyexec@npm:0.3.1" + checksum: 10/0537c70590d52d354f40c0255ff0f654a3d18ddb3812b440ddf9d436edf516c8057838ad5a38744c0c59670ec03e3cf23fbe04ae3d49f031d948274e99002569 + languageName: node + linkType: hard + "tmp@npm:^0.0.33": version: 0.0.33 resolution: "tmp@npm:0.0.33" @@ -25708,6 +25904,13 @@ __metadata: languageName: node linkType: hard +"ufo@npm:^1.5.4": + version: 1.5.4 + resolution: "ufo@npm:1.5.4" + checksum: 10/a885ed421e656aea6ca64e9727b8118a9488715460b6f1a0f0427118adfe2f2830fe7c1d5bd9c5c754a332e6807516551cd663ea67ce9ed6a4e3edc739916335 + languageName: node + linkType: hard + "uglify-js@npm:^3.1.4": version: 3.19.3 resolution: "uglify-js@npm:3.19.3" @@ -25854,15 +26057,6 @@ __metadata: languageName: node linkType: hard -"unist-util-stringify-position@npm:^3.0.0": - version: 3.0.3 - resolution: "unist-util-stringify-position@npm:3.0.3" - dependencies: - "@types/unist": "npm:^2.0.0" - checksum: 10/07913e4fd77fe57d95f8b2f771354f97a29082229c1ad14ceedce6bbc77b2d784ca8296563335471cdca97915e548204bd6f098ea5b808b822b4b54087662cfb - languageName: node - linkType: hard - "universal-user-agent@npm:^6.0.0": version: 6.0.1 resolution: "universal-user-agent@npm:6.0.1" @@ -26004,7 +26198,7 @@ __metadata: languageName: node linkType: hard -"uuid@npm:^9.0.0": +"uuid@npm:^9.0.0, uuid@npm:^9.0.1": version: 9.0.1 resolution: "uuid@npm:9.0.1" bin: @@ -26013,20 +26207,6 @@ __metadata: languageName: node linkType: hard -"uvu@npm:^0.5.0": - version: 0.5.6 - resolution: "uvu@npm:0.5.6" - dependencies: - dequal: "npm:^2.0.0" - diff: "npm:^5.0.0" - kleur: "npm:^4.0.3" - sade: "npm:^1.7.3" - bin: - uvu: bin.js - checksum: 10/66ba25afc6732249877f9f4f8b6146f3aaa97538c51cf498f55825d602c33dbb903e02c7e1547cbca6bdfbb609e07eb7ea758b5156002ac2dd5072f00606f8d9 - languageName: node - linkType: hard - "v8-compile-cache-lib@npm:^3.0.1": version: 3.0.1 resolution: "v8-compile-cache-lib@npm:3.0.1" @@ -26143,20 +26323,48 @@ __metadata: languageName: node linkType: hard -"vscode-languageserver-textdocument@npm:^1.0.3": +"vscode-jsonrpc@npm:8.2.0": + version: 8.2.0 + resolution: "vscode-jsonrpc@npm:8.2.0" + checksum: 10/6d57c3aed591d0bc89d1c226061d265b04de528582bef183f5998cac5de78a736887e5238fe48b9f6a14ec32f05d8fda71599f92862ac5dacc7f26bf7399b532 + languageName: node + linkType: hard + +"vscode-languageserver-protocol@npm:3.17.5": + version: 3.17.5 + resolution: "vscode-languageserver-protocol@npm:3.17.5" + dependencies: + vscode-jsonrpc: "npm:8.2.0" + vscode-languageserver-types: "npm:3.17.5" + checksum: 10/aeb9c190184c365fa6b835e5aa7574c86cb3ecb2789386bcff76a09b22bc8b8e0d5da47c28193a9c73cfb32c10a12a91191779280324a38efb401e3ef7bad294 + languageName: node + linkType: hard + +"vscode-languageserver-textdocument@npm:^1.0.3, vscode-languageserver-textdocument@npm:~1.0.11": version: 1.0.12 resolution: "vscode-languageserver-textdocument@npm:1.0.12" checksum: 10/2bc0fde952d40f35a31179623d1491b0fafdee156aaf58557f40f5d394a25fc84826763cdde55fa6ce2ed9cd35a931355ad6dd7fe5db82e7f21e5d865f0af8c6 languageName: node linkType: hard -"vscode-languageserver-types@npm:^3.16.0": +"vscode-languageserver-types@npm:3.17.5, vscode-languageserver-types@npm:^3.16.0": version: 3.17.5 resolution: "vscode-languageserver-types@npm:3.17.5" checksum: 10/900d0b81df5bef8d90933e75be089142f6989cc70fdb2d5a3a5f11fa20feb396aaea23ccffc8fbcc83a2f0e1b13c6ee48ff8151f236cbd6e61a4f856efac1a58 languageName: node linkType: hard +"vscode-languageserver@npm:~9.0.1": + version: 9.0.1 + resolution: "vscode-languageserver@npm:9.0.1" + dependencies: + vscode-languageserver-protocol: "npm:3.17.5" + bin: + installServerIntoExtension: bin/installServerIntoExtension + checksum: 10/1cb643b1b1f41a620aaf4a62e152acad694c22b4d98de73fa614a0bddf3b4b4832460465bdbc43f27ba23dad7e61aba533e77b8bfac74cc8de310c39623a7ba1 + languageName: node + linkType: hard + "vscode-nls@npm:^5.0.0": version: 5.2.0 resolution: "vscode-nls@npm:5.2.0" @@ -26164,7 +26372,7 @@ __metadata: languageName: node linkType: hard -"vscode-uri@npm:^3.0.3": +"vscode-uri@npm:^3.0.3, vscode-uri@npm:~3.0.8": version: 3.0.8 resolution: "vscode-uri@npm:3.0.8" checksum: 10/e882d6b679e0d053cbc042893c0951a135d899a192b62cd07f0a8924f11ae722067a8d6b1b5b147034becf57faf9fff9fb543b17b749fd0f17db1f54f783f07c @@ -26268,13 +26476,6 @@ __metadata: languageName: node linkType: hard -"web-worker@npm:^1.2.0": - version: 1.3.0 - resolution: "web-worker@npm:1.3.0" - checksum: 10/9dd89763997a7fa4c50128bed088137775c6033cc2aead24fd82e8292991bb1d3ffc672b47df16eed86c9268d2bf230d5bb3e0d06f41a7b3c0c4c36abf4c1ba7 - languageName: node - linkType: hard - "webdriver@npm:7.16.14": version: 7.16.14 resolution: "webdriver@npm:7.16.14"