The JADE 2022 release meets tomorrow’s business demands.
As part of a regular check on our code base we check to see if method access has been set appropriately. We use the undocumented feature on RootSchema getMethodRefs() to check where the method is being used, but this does not return any method references where the method has been exported via a package. So we currently have another dodgy hack to check this. It would be good for this feature to be a 'documented' feature and include either by default or by parameter choice all references including exported via package. This would make checking the health of our code base easier and allow us to use a proper documented feature of Jade. Doing a references via the IDE already returns references exported via a package.
Since you asked.
We have a schema extract mechanism that performs some sanity checks. One that might be generally useful is the refusal to proceed with the extract operation if a property is encountered that is virtual and is included in an RPS mapping, but has not been flagged as RPS safe by the developer.
The intent is that if the method does more than simple accesses of local properties and variables the developer must assess the logic for suitability in an RPS environment. Any included state needs to be transactionally aligned.
For us, flagging a method as RPS safe means adding an '// RPSsafe' comment.
There will be better ways of doing this sort of thing with product support.
Are there any other pre-deploy checks that would be useful?
More generally, it is very reasonable for people to want to query their schema programatically. We should present a documented API for developers to query their schema.