Upgrade Guide
From v0.10.x- to v0.13.x
Vuepress Utils
The @aedart/vuepress-utils
has been upgraded to require the latest version of vuepress
(^2.0.0-rc.15
release candidate). This has affected various arguments and return types in the navigation utilities, such as Archive
and PagesCollection
.
The changes should not directly affect your documentation application directly, when used as described. However, if you have your own implementation of the Archive
or PagesCollection
interfaces (in TypeScript), or if you have extended the default provided classes, then you might have to adapt expected argument and return types.
Please read vuepress' changelog and review the package's source code for additional details.
From v0.7.x- to v0.10.x
Meta (types)
The following deprecated types have been removed (deprecated in version v0.7.0
):
ClassContext
MethodContext
GetterContext
SetterContext
FieldContext
AccessorContext
MetadataContext
MemberContext
More information available in the source code and CHANGELOG.md
Meta (targetMeta()
and inheritTargetMeta()
)
The util functions targetMeta()
and inheritTargetMeta()
now throw a MetaError
instead of previous TypeError
. If you rely on TypeError
as the type of exception being thrown in a try-catch statement, when decorating class members, then you should change it to MetaError
.
From v0.6.x to v0.7.x
Node.js 20.11.0 Required
Ion now requires Node.js v20.11.0
or greater.
Meta
Various metadata related type definitions have now been deprecated in favour of TypeScript's own definitions. Mostly, this should not affect the implementation. However, if your decorator(s) depend on the following types (see below), then you are strongly encouraged to use corresponding TypeScript defined types instead.
Deprecated types and interfaces are defined in @aedart/contracts/support/meta
:
ClassContext
MethodContext
GetterContext
SetterContext
FieldContext
AccessorContext
MetadataContext
MemberContext
More information available in the source code and CHANGELOG.md
Vuepress Utils
The @aedart/vuepress-utils
has been upgraded to use vuepress v2.0.0-rc.2
, meaning that you no longer should require to manually define your vuepress
dependency, in your application's packages.json
file.
❌ Previously
{
"devDependencies": {
"@aedart/vuepress-utils": "^0.6.1",
"vuepress": "2.0.0-beta.61",
"@vuepress/core": "2.0.0-beta.61",
"@vuepress/utils": "2.0.0-beta.61",
"@vuepress/client": "2.0.0-beta.61"
}
}
✔️ Now
{
"devDependencies": {
"@aedart/vuepress-utils": "^0.7.0"
}
}
Please read vuepress' changelog for additional details.
Webpack Bundle
In addition to the above, the @aedart/vuepress-utils
automatically comes with @vuepress/bundler-webpack
as its peed dependency.
From v0.3.x to v0.4.x
Rest Parameters for forgetAll()
, hasAll()
and hasAny()
forgetAll()
, hasAll()
and hasAny()
(in @aedart/support/object
submodule) now accept rest parameters instead of an array of paths. If you are using these methods, then you need to upgrade or risk unexpected results.
❌ Previously
import {
forgetAll,
hasAll,
hasAny
} from "@aedart/support/objects";
hasAny(target, [ 'a', 'b.c.age' ]);
hasAll(target, [ 'a', 'b.c.age' ]);
forgetAll(target, [ 'a', 'b.c.age' ]);
✔️ Now
hasAny(target, ...[ 'a', 'b.c.age' ]);
hasAll(target, ...[ 'a', 'b.c.age' ]);
forgetAll(target, ...[ 'a', 'b.c.age' ]);
// ...Or
hasAny(target, 'a', 'b.c.age');
hasAll(target, 'a', 'b.c.age');
forgetAll(target, 'a', 'b.c.age');
Onward
More details can be found in the changelog.