Support raw JS for Portal scripts
Portal released with support for raw JS with ts-nocheck. This was changed at some point and now scripts omitting type annotations fail. This massively limits using Portal for the following reasons:
1) JavaScript is by definition TypeScript. It's a shame to ignore this and arbitrarily enforce the usage of type-annotated TS.
2) This change prevents the use of JS bundlers which always eschew types and output a raw JS bundle.
3) Using bundlers e.g. esbuild, Rollup allows installing libraries e.g. via NPM. The TS/JS community has a plethora of libraries (to the point where it's often the butt of a joke). This allows developers to leverage others' efforts and get projects spun up quickly. Re-enabling bundlers by dropping the requirement for annotations means that users can include libraries for common functionality like math operations as well as Portal-specific libraries e.g. UI, common game modes, spawning items/enemies.
4) Bundlers minify the JS bundle and allow larger scripts without the overhead of type annotations. EA is storing the same file size while creators are packing in more complexity and/or content.
5 If this change is to prevent access to internal portions of the SDK, this is a really poor way of doing so. There are many ways of accessing parts of the API for which types are not defined in the TS/JS world. JS is, after all, an interpreted, dynamically-typed language. Casting to any alone allows access to internal API.
Removal of the TS requirement massively impacts the community that can rally around Portal. Look, for example, at the many project templates in Portal communities (there's a popular Discord, for example). Many of these templates could be libraries in NPM. Users could combine templates e.g. a UI library on top of a custom game mode library. They could also easily pull upstream changes made by the library maintainers package managers. Basically, enforcing TS and thus preventing the use of bundlers erases all of the conveniences that have been created by the JS development world for decades and largely hampers the Portal community.