# Babylon development: ES version, Typescript version, in-file documentation format?

**URL:** <https://forum.babylonjs.com/t/babylon-development-es-version-typescript-version-in-file-documentation-format/53928>\
**Category:** Questions\
**Tags:** typescript, es6, es2022\
**Created:** [October 4, 2024, 6:03pm UTC](https://forum.babylonjs.com/t/babylon-development-es-version-typescript-version-in-file-documentation-format/53928 "2024-10-04T18:03:11Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![HiGreg](https://avatars.discourse-cdn.com/v4/letter/h/c5a1d2/32.png) [@HiGreg](https://forum.babylonjs.com/u/HiGreg)\
**Post date:** [October 4, 2024, 6:03pm UTC](https://forum.babylonjs.com/t/babylon-development-es-version-typescript-version-in-file-documentation-format/53928/1 "2024-10-04T18:03:11Z")

</div>

Which runtime environment should I target? Is ES2022 supported by Babylon source code, build tools, and developers? Do I need to target only ES6?

Eventually, I’ll convert to TypeScript. What TypeScript version is used?

I’m beginning to convert my javascript classes to enable integration into Babylon source. I’m using private class fields with hashtags (“#”) preceding the field name. I discovered this is an ES2022 feature, and ES6 does not support private class fields.

Finally, I’m currently trying to document within my Javascript files with JSdoc. What in-file documentation format is used by Babylon build tools? I’ve seen (elsewhere) references to TypeDoc, TSDoc, and others.

---

<div class="post-metadata">

**Author:** ![Deltakosh](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/deltakosh/32/26635_2.png) [@Deltakosh](https://forum.babylonjs.com/u/Deltakosh)\
**Post date:** [October 4, 2024, 6:06pm UTC](https://forum.babylonjs.com/t/babylon-development-es-version-typescript-version-in-file-documentation-format/53928/2 "2024-10-04T18:06:36Z")

</div>

I think you should get most of your answers from here:  
[Contributing to Babylon.js | Babylon.js Documentation (babylonjs.com)](https://doc.babylonjs.com/contribute/toBabylon)

Versions:  
[Babylon.js/package.json at master · BabylonJS/Babylon.js (github.com)](https://github.com/BabylonJS/Babylon.js/blob/master/package.json)

---

<div class="post-metadata">

**Author:** ![HiGreg](https://avatars.discourse-cdn.com/v4/letter/h/c5a1d2/32.png) [@HiGreg](https://forum.babylonjs.com/u/HiGreg)\
**Post date:** [October 5, 2024, 1:01am UTC](https://forum.babylonjs.com/t/babylon-development-es-version-typescript-version-in-file-documentation-format/53928/3 "2024-10-05T01:01:59Z")

</div>

Thank you. From your link, I was able to determine what I need for now:

tsconfig.build.json:

- “target”: “es2021”, // esnext has an issue with class generation and our decoders. TODO - avoid using decorators until in standard

TypeDoc reference:

- “test:docs”: “node ./scripts/typedoc-generator.js”

So I can get started converting to TypeScript using TypeDoc and compiling to JavaScript with:

- tsc -t es2021 PhysicsDebug.ts
