process-analytics / mxgraph-road-to-DefinitelyTyped

Community effort followup to provide mxgraph TypeScript type definitions / typings via DefinitelyTyped

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

mxgraph-road-to-DefinitelyTyped

Archived on 2021-09-17 See https://github.com/maxGraph/maxGraph (the mxGraph successor) that will natively support TypeScript in the future. For usage of types for the EOL mxGraph lib, see https://github.com/typed-mxgraph/typed-mxgraph.

This is a community effort followup to provide mxGraph TypeScript definition through the DefinitelyTyped project and close mxGraph integration in DefinitelyTyped.

DISCLAIMER

  • This repository does not provide any TypeScript definition. It addresses mainly documentation, tracking and coordination efforts.
  • So please don't open Pull Requests to add definition, any such PRs will be closed as out of topic.
  • If you are looking for TypeScript definition, please visit https://github.com/typed-mxgraph/typed-mxgraph which hosts the development.

mxGraph TypeScript status and motivations

mxGraph is a javascript lib and its maintainers have no plan to support TypeScript. (See mxGraph #81). However, there is a large demand for this kind of support, especially from people who want to use mxGraph in Angular and React applications.

Various individual efforts exist to make mxGraph TypeScript usage easier and consist on:

  • definition types
  • commonJS wrapper
  • TypeScript ports

Everybody is working individually on their own solutions leading to the following issues:

  • Most repository owners say that the type definition files in their project are not complete (or something similar).
  • It is almost impossible to know which mxGraph version is targeted by the various type definition packages.
  • As there are several solutions and npm packages, it is hard to find the best way to use mxGraph in a TypeScript project.
  • Generally speaking, when alternate open source solutions provide emulation, this is overkill for something as basic as type definitions. Energy is lost in redoing the same definitions over and over, instead of simply adding new types when the underlying mxGraph javascript lib evolves, or improving the TSDoc types.

So, the current effort aims to help volunteers implement a single, documented, maintained, up to date solution, available through the DefinitelyTyped project project.

Existing solutions

This is a non exhaustive list that presents various solutions with information about their activity status and implementation choices.

Notice that there are previous discussions on mxGraph GitHub issues

Previous attempts to make types available via DefinitelyTyped

  • PR #34695 has been closed due to inactivity
    • submitted on 2019-04-12
    • closed on 2019-04-19: build failed and author didn't manage to fix it

Onboarding people who have individual repositories/packages

This current proposal is to invite all volunteers to contribute to the typed-mxgraph/typed-mxgraph repository (initial work started on hungtcs/mxgraph-type-definitions which has been deprecated on 2020-12-16). Then we may eventually propose a Pull Request to DefinitelyTyped.

If you think that there is something among the existing solutions that already provide a better support than the proposed repository, please submit an issue to start a discussion about that.

Approach

We will try to identify those people who have already developed mxGraph type definitions and contact them to see if they want to join this team effort. We'll track the contact followups below in this page.
First, we'll contact the original authors of a repository, then people who have forked it and/or have made contributions (locally or in the upstream repo).

If you find a repository not listed in the tracking list or in the existing solutions page, please feel free to contact the owner yourself and create a Pull Request in this repository to help us to track contacts.

If you are interested in this community effort, please submit an issue in this repository to start a discussion and describe how you want to participate. We welcome your participation!

You can also directly submit issues and Pull Requests in https://github.com/typed-mxgraph/typed-mxgraph for direct contributions to Typescript definitions.

Volunteers followup

The following people have already joined this initiative.

GH User Contact Comments
@aibcmars - bpmn-visualization-js contributor
@aleics aleics/mxgraph-types/issues#1 Previously attempt to propose a PR to DefinitelyTyped
@csouchet - bpmn-visualization-js contributor
@hungtcs hungtcs/mxgraph-type-definitions#1 Accept that his repository serves for community contributions before moving to DefinitelyTyped
@tbouffard - Initiate and animate this community effort, main motivation: have a seamless mxGraph integration in bpmn-visualization-js

Pending requests

None for now!

Dismissed

GH User Reason Contact Comments
@asual no longer work on a project that requires mxGraph and probably won't have the time to contribute actively asual/mxgraph-factory#9 He regularly updates types after new mxGraph releases
@lgleim no longer work on a project that requires mxGraph and probably won't have the time to contribute actively lgleim/mxgraph-typings#12 His repository is probably the most forked and used on GitHub

Unreachable

GH User Contact Comments
@amiraziz amiraziz/ang-mxgraph#1 (2020-04-30) 3 commits on January 2019 in a personal repository
@gooddaytoday DefinitelyTyped#5317 (2020-04-13) He created the mxGraph integration in DefinitelyTyped issue
@rabpeter rabpeter/ts-mxgraph-typings#1 (2020-04-14) Recent activities: new repository and npm packages publishing

About

Community effort followup to provide mxgraph TypeScript type definitions / typings via DefinitelyTyped

License:Apache License 2.0