Skip to content

Checking JSDoc types at runtime for high-quality types - Trust is good, control is better.

License

Notifications You must be signed in to change notification settings

kungfooman/RuntimeTypeInspector.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RuntimeTypeInspector.js - your personal type-checking assistant 🕵️🐞🐛

RuntimeTypeInspector.js alongside JSDoc is a powerful tool which works in tandem with Babel.js and TypeScript to generate type-asserting JavaScript files. Assertion code is injected into debug builds to perform runtime type checking of each function and method at runtime - a step which is required beyond pure static typing to help emerge the Incident Management Lifecycle.

The Incident Management Lifecycle is:

  • Identify - recognize the type incidents
  • Respond - debugging in F12/DevTools
  • Resolve - once the issue is cognized it's resolvable
  • Learn - clarify the issue for yourself and share with others

RuntimeTypeInspector.js is supporting Identify and Respond of the IML.

Why is this technology critical?

This technology is critical because it provides developers with an organized method to ensure type safety with runtime type issue reports while improving code organization, type safety and documentation - making it easier for other developers to understand the code and enforce good coding standards.

RuntimeTypeInspector.js assists the debugging process, since it has a clear definition of what each function expects while issuing warnings, which can act as breakpoints in your source code (as shown in the example debugging session in my showcase video). Finally, good JSDoc can make the entire code base more maintainable, since it's easier for developers to find the specific parts of the code they need to change quickly and easily.

Watch our Example Usage Videos!

If you want to see how our product works, take a look at the videos we have prepared. They show you exactly how to use our product with ease.

Presentation hunting down a NaN bug in the PlayCanvas engine:

https://www.youtube.com/watch?v=o5ipQe2rVKQ

hunting down NaN bug in PlayCanvas

Another demonstration fixing NaN bugs in the PlayCanvas Volumetric Video project:

https://www.youtube.com/watch?v=xOp3YWU6M1g

volumetric video bug fixing

Installation

Please take my two Pull Requests for Transformers.js (using Webpack) and PlayCanvas (using Rollup) as example.

npm install @runtime-type-inspector/transpiler

Live demo: https://runtimetypeinspector.org/

Thank you for reading and testing! You can also open DevTools and run:

console.log(rtiTranspiler)

Available NPM packages

Acknowledgements

We are incredibly grateful for the support and contribution of our funders, Sovereign Tech Fund. We would like to thank them for their support and contribution towards making this project possible. Their partnership and generous funding have been instrumental in the success and realization of RuntimeTypeInspector.js.

stf-logo-1-light-background

Open source, a treasure trove for all to embrace,

But its potential is limited, without financial grace.

Let's urge our governments, to invest in its light,

For a resilient digital infrastructure, shining bright.

About

Checking JSDoc types at runtime for high-quality types - Trust is good, control is better.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages