Major changes to import
in the 0.3.0 release of enonic-types
I have moved all the types into their corresponding modules – so that they have to be imported from there, instead of from the "enonic-types"
package.
Here is an example of the changes you will have to make to your code:
- import { Request, Response } from "enonic-types/controller";
- import { get } from "/lib/xp/content";
- import { Content } from "enonic-types/content";
+ import { get, Content } from "/lib/xp/content";
- export function post(req: Request): Response {
+ export function post(req: XP.Request): XP.Response {
const content: Content = get({
key: req.params.key!
})
...
}
As you can see I have also removed the need to import Request
and Response
from "enonic-types/controller"
, since they now exist in the global XP
namespace.
These two changes together makes it so that you should never need to import from "enonic-types"
directly in your code any more, as long as you have your tsconfig.json configured like this:
{
"compilerOptions": {
"types": ["node", "enonic-types"]
}
}
I think this release cleans up the imports nicely.
See the release notes for a protip on how we will be doing these imports in the upcoming TypeScript 4.5 that drops next month.
– Tom