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
Another demonstration fixing NaN
bugs in the PlayCanvas Volumetric Video project:
https://www.youtube.com/watch?v=xOp3YWU6M1g
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
- @runtime-type-inspector/runtime
- @runtime-type-inspector/transpiler
- @runtime-type-inspector/plugin-parcel1
- @runtime-type-inspector/parcel-transformer (Parcel v2)
- @runtime-type-inspector/plugin-rollup
- @runtime-type-inspector/plugin-webpack (version independent)
- @runtime-type-inspector/plugin-webpack4
- @runtime-type-inspector/plugin-webpack5
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.
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.