As of June 13, 2022
continuation-local-storage Last published 5 years ago and has 1,843,808 Weekly Downloads
cls-hooked was Last published 5 years ago and has 1,246,792 Weekly Downloads
ace-context was last published 3 years ago and has 2,885 Weekly Downloads.
Ideally, if a dependency is required, it is better to use one that is well maintained, popular and is by itself original work (i.e. not a fork). Thus, in theory, in such a chain of forks, it would be wise to unbundle the forked packages back to continuation-local-storage.
However, since none of the packages is currently actively maintained, and since reverting back up the fork chain will introduce development risk, the current dependency (ace-context) stays.
Change
Dependency removed.
Debug code that allowed for the user to configure the package used for context has been removed (cls-hooked and ace-context are NOT interchangeable).
Overview
This pull request removes
cls-hooked
from dependencies.The package is redundant. Context is managed with
ace-context
.History:
ace-context
is a fork ofcls-hooked
,cls-hooked
is a fork ofcontinuation-local-storage
Managing context using
continuation-local-storage
was added in one of the early commits as part of a "quick-and-dirty port of trace and log functionality from oboe-ruby" (See: https://github.com/appoptics/appoptics-apm-node/commit/1b5c028c00752dd86ac47c7aff8fbae79f58d467)continuation-local-storage
was replaced with a fork calledcls-hooked
4 years later in: https://github.com/appoptics/appoptics-apm-node/commit/4345f61d3fb30ff4cdd2e2e4f746ccf95cd6bb58A fork of
cls-hooked
namedace-context
was added in parallel in: https://github.com/appoptics/appoptics-apm-node/commit/75fccbd6831da4d31cfde3da526b227a27fe4649 and wasace-context
was placed out of "alpha" in: https://github.com/appoptics/appoptics-apm-node/commit/27505b52e1fb000693da908108ad8036dc0f9facDiscussion
As of June 13, 2022
continuation-local-storage
Last published 5 years ago and has 1,843,808 Weekly Downloadscls-hooked
was Last published 5 years ago and has 1,246,792 Weekly Downloadsace-context
was last published 3 years ago and has 2,885 Weekly Downloads.Ideally, if a dependency is required, it is better to use one that is well maintained, popular and is by itself original work (i.e. not a fork). Thus, in theory, in such a chain of forks, it would be wise to unbundle the forked packages back to
continuation-local-storage
.However, since none of the packages is currently actively maintained, and since reverting back up the fork chain will introduce development risk, the current dependency (
ace-context
) stays.Change
cls-hooked
andace-context
are NOT interchangeable).Notes:
ace-context
(https://www.npmjs.com/package/ace-context) package does NOT lead to the actual source. The source is at: https://github.com/appoptics/ace-context and the mistaken link is from here: https://github.com/appoptics/ace-context/blob/master/package.json#L19nh-main
. Agent built frommaster
will maintain dependency`.