Releases: Prunoideae/ProbeJS-Forge
Releases · Prunoideae/ProbeJS-Forge
v2.5.0
v2.4.5
- Fixed wrongly generated registry dumps due to the change of registry system.
v2.4.0
v2.3.0
- Implemented fully functional
@assign
comment handler. Now you can assign a wrapper type to a class. - Implemented raw TS documents importing, such documents can be specified by adding a
!
at the start of userdoc file name, or a!{mod_name} {entry_name}
in document list. - Fixed a problem where events may be shown as
any
inonEvent
due to unparameterized type. - Added static documentation of ArsNouveau, ArtisanWorktables, Botania, BotanyPots, Cucumber, DankStorage and ExtendedCrafting, as how they're supported in KubeJS's built-in plugin.
v2.2.0
- Reworked
TypeInfo
system, most of the inherited methods are working without problems now. However, Java's type system still has something weird with TypeScript, so don't expect it to work out of the generated context. - Reworked
ClassInfo
system, now information of classes are cached as soon as they're queried, allowing for faster compilation to typing. - Added alternated snippet generation and configure command so I won't mistype like
@item.modid...
everytime. - Added configuration to disable auto-export on KubeJS to reduce compilation time.
- Added class name snippets to export resolved class name to full class path, to simplify the process of doc writing.
- Fields and methods with identifier
constructor
are now ignored in typing due to naming conflict. java.lang.Object
now resolves toany
to allow more flexible type resolving.- Special formatters of functions are now guaranteed to return special typing.
- Removed
abstract
keyword from interface to prevent confusion. - Replaced
implements
keyword withextends
in interfaces to prevent confusion. - Changed auto-generated private constructors to protected constructors to prevent confusion.
- Removed beans in interfaces to prevent confusion.
- Reworked bean dumping logic to ensure setters and getters are correct.
java.lang.Map
now resolves toInternal.Map
to prevent confusion.- All
Unknown
types now resolve toany
to prevent confusion.
v2.1.0
-
Changed how typing is generated to make TypeScript complain less. This includes:
- All static members in unexposed interfaces are now removed, and all static members in exposed interfaces are now not static.
- Inherited method is now removed only when the method contains any type variables to reduce the problem in overloading.
- Added
declare
to all top-level declarations.
-
Added typing generation for constructors. I forgot this.
-
Constructors of non-exposed classes are automatically private, and a doc is added to warn if there's an intentional call to the constructor.
-
Added persisted config system, which is mainly configured by
/probejs configure
. -
Added option to enable/disable mixin wrappers through configuration to reduce overhead.
-
Added
abstract
keyword to abstract classes/interfaces. -
Added option to enable/disable dumping of methods if the method has a corresponding bean.
-
Fixed how
@modify
is wrongly parsed. -
Added
@rename
special comment, to allow for renaming an arg in parameters.
v2.0.0
- Removed
captureEvent
, now events are recorded after they're fired at least once. - Replaced decorators in documents with special comments.
- Export command is now 10x faster, and command loggings are reduced since you don't need to wait so long.
- Beans are setters and getters now. Documents don't need to override the field of the bean, just the method will be enough.
v1.7.0-fix
- Removed stupid
dump.js
generation which may cause potential naming conflict and does not have a wide usage.
v1.7.0
- Added support for union types and intersection types in type parsing, like Internal.List<Internal.ItemStackJS | Internal.FluidStackJS>
- Added type declaration at document level for simplifying complex type declarations.
- Untyped param comments are ignored in param modifying and will be outputted as normal comments now.
v1.6.0
- Completed the static document system, now ProbeJS will try to look up documents in jars.
- Rearranged file structures, now things are under
probe/docs
,probe/user
andprobe/generated
, please regenerate the docs by deletingjsconfig.json
andkubetypings
dirs, and rerun/probejs dump
. - As the document is pretty completed, ProbeJS now accepts PRs for adding recipes or documents to other mods.