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 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.
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
- 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
- submitted on
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.
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.
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 |
None for now!
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 |
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 |