@zudojs/lifecycle 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +38 -0
- package/dist/index.d.ts +42 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +34 -0
- package/dist/index.js.map +1 -0
- package/dist/lifecycleComponent/index.d.ts +7 -0
- package/dist/lifecycleComponent/index.d.ts.map +1 -0
- package/dist/lifecycleComponent/index.js +7 -0
- package/dist/lifecycleComponent/index.js.map +1 -0
- package/dist/lifecycleComponent/lifecycleComponent.type.d.ts +68 -0
- package/dist/lifecycleComponent/lifecycleComponent.type.d.ts.map +1 -0
- package/dist/lifecycleComponent/lifecycleComponent.type.js +7 -0
- package/dist/lifecycleComponent/lifecycleComponent.type.js.map +1 -0
- package/dist/lifecycleContext/index.d.ts +8 -0
- package/dist/lifecycleContext/index.d.ts.map +1 -0
- package/dist/lifecycleContext/index.js +7 -0
- package/dist/lifecycleContext/index.js.map +1 -0
- package/dist/lifecycleContext/lifecycleContext.type.d.ts +23 -0
- package/dist/lifecycleContext/lifecycleContext.type.d.ts.map +1 -0
- package/dist/lifecycleContext/lifecycleContext.type.js +15 -0
- package/dist/lifecycleContext/lifecycleContext.type.js.map +1 -0
- package/dist/lifecycleEvents/index.d.ts +8 -0
- package/dist/lifecycleEvents/index.d.ts.map +1 -0
- package/dist/lifecycleEvents/index.js +7 -0
- package/dist/lifecycleEvents/index.js.map +1 -0
- package/dist/lifecycleEvents/lifecycleEvents.core.d.ts +52 -0
- package/dist/lifecycleEvents/lifecycleEvents.core.d.ts.map +1 -0
- package/dist/lifecycleEvents/lifecycleEvents.core.js +46 -0
- package/dist/lifecycleEvents/lifecycleEvents.core.js.map +1 -0
- package/dist/lifecycleExecutor/index.d.ts +8 -0
- package/dist/lifecycleExecutor/index.d.ts.map +1 -0
- package/dist/lifecycleExecutor/index.js +7 -0
- package/dist/lifecycleExecutor/index.js.map +1 -0
- package/dist/lifecycleExecutor/lifecycleExecutor.core.d.ts +35 -0
- package/dist/lifecycleExecutor/lifecycleExecutor.core.d.ts.map +1 -0
- package/dist/lifecycleExecutor/lifecycleExecutor.core.js +88 -0
- package/dist/lifecycleExecutor/lifecycleExecutor.core.js.map +1 -0
- package/dist/lifecycleInternal/asyncUtils.core.d.ts +19 -0
- package/dist/lifecycleInternal/asyncUtils.core.d.ts.map +1 -0
- package/dist/lifecycleInternal/asyncUtils.core.js +69 -0
- package/dist/lifecycleInternal/asyncUtils.core.js.map +1 -0
- package/dist/lifecycleInternal/dependencyGraph.core.d.ts +29 -0
- package/dist/lifecycleInternal/dependencyGraph.core.d.ts.map +1 -0
- package/dist/lifecycleInternal/dependencyGraph.core.js +74 -0
- package/dist/lifecycleInternal/dependencyGraph.core.js.map +1 -0
- package/dist/lifecycleInternal/index.d.ts +10 -0
- package/dist/lifecycleInternal/index.d.ts.map +1 -0
- package/dist/lifecycleInternal/index.js +9 -0
- package/dist/lifecycleInternal/index.js.map +1 -0
- package/dist/lifecycleInternal/topologicalSort.core.d.ts +19 -0
- package/dist/lifecycleInternal/topologicalSort.core.d.ts.map +1 -0
- package/dist/lifecycleInternal/topologicalSort.core.js +50 -0
- package/dist/lifecycleInternal/topologicalSort.core.js.map +1 -0
- package/dist/lifecycleManager/index.d.ts +8 -0
- package/dist/lifecycleManager/index.d.ts.map +1 -0
- package/dist/lifecycleManager/index.js +7 -0
- package/dist/lifecycleManager/index.js.map +1 -0
- package/dist/lifecycleManager/lifecycleManager.context.d.ts +42 -0
- package/dist/lifecycleManager/lifecycleManager.context.d.ts.map +1 -0
- package/dist/lifecycleManager/lifecycleManager.context.js +38 -0
- package/dist/lifecycleManager/lifecycleManager.context.js.map +1 -0
- package/dist/lifecycleManager/lifecycleManager.core.d.ts +70 -0
- package/dist/lifecycleManager/lifecycleManager.core.d.ts.map +1 -0
- package/dist/lifecycleManager/lifecycleManager.core.js +119 -0
- package/dist/lifecycleManager/lifecycleManager.core.js.map +1 -0
- package/dist/lifecycleManager/lifecycleManager.shutdown.d.ts +12 -0
- package/dist/lifecycleManager/lifecycleManager.shutdown.d.ts.map +1 -0
- package/dist/lifecycleManager/lifecycleManager.shutdown.js +60 -0
- package/dist/lifecycleManager/lifecycleManager.shutdown.js.map +1 -0
- package/dist/lifecycleManager/lifecycleManager.startup.d.ts +11 -0
- package/dist/lifecycleManager/lifecycleManager.startup.d.ts.map +1 -0
- package/dist/lifecycleManager/lifecycleManager.startup.js +100 -0
- package/dist/lifecycleManager/lifecycleManager.startup.js.map +1 -0
- package/dist/lifecyclePhase/index.d.ts +7 -0
- package/dist/lifecyclePhase/index.d.ts.map +1 -0
- package/dist/lifecyclePhase/index.js +7 -0
- package/dist/lifecyclePhase/index.js.map +1 -0
- package/dist/lifecyclePhase/lifecyclePhase.core.d.ts +19 -0
- package/dist/lifecyclePhase/lifecyclePhase.core.d.ts.map +1 -0
- package/dist/lifecyclePhase/lifecyclePhase.core.js +52 -0
- package/dist/lifecyclePhase/lifecyclePhase.core.js.map +1 -0
- package/dist/lifecyclePhase/lifecyclePhase.type.d.ts +16 -0
- package/dist/lifecyclePhase/lifecyclePhase.type.d.ts.map +1 -0
- package/dist/lifecyclePhase/lifecyclePhase.type.js +17 -0
- package/dist/lifecyclePhase/lifecyclePhase.type.js.map +1 -0
- package/dist/lifecyclePlan/index.d.ts +8 -0
- package/dist/lifecyclePlan/index.d.ts.map +1 -0
- package/dist/lifecyclePlan/index.js +7 -0
- package/dist/lifecyclePlan/index.js.map +1 -0
- package/dist/lifecyclePlan/lifecyclePlan.core.d.ts +26 -0
- package/dist/lifecyclePlan/lifecyclePlan.core.d.ts.map +1 -0
- package/dist/lifecyclePlan/lifecyclePlan.core.js +40 -0
- package/dist/lifecyclePlan/lifecyclePlan.core.js.map +1 -0
- package/dist/lifecycleRegistry/index.d.ts +7 -0
- package/dist/lifecycleRegistry/index.d.ts.map +1 -0
- package/dist/lifecycleRegistry/index.js +7 -0
- package/dist/lifecycleRegistry/index.js.map +1 -0
- package/dist/lifecycleRegistry/lifecycleRegistry.core.d.ts +35 -0
- package/dist/lifecycleRegistry/lifecycleRegistry.core.d.ts.map +1 -0
- package/dist/lifecycleRegistry/lifecycleRegistry.core.js +87 -0
- package/dist/lifecycleRegistry/lifecycleRegistry.core.js.map +1 -0
- package/dist/lifecycleSignal/index.d.ts +8 -0
- package/dist/lifecycleSignal/index.d.ts.map +1 -0
- package/dist/lifecycleSignal/index.js +7 -0
- package/dist/lifecycleSignal/index.js.map +1 -0
- package/dist/lifecycleSignal/lifecycleSignal.handler.d.ts +20 -0
- package/dist/lifecycleSignal/lifecycleSignal.handler.d.ts.map +1 -0
- package/dist/lifecycleSignal/lifecycleSignal.handler.js +29 -0
- package/dist/lifecycleSignal/lifecycleSignal.handler.js.map +1 -0
- package/dist/lifecycleState/index.d.ts +7 -0
- package/dist/lifecycleState/index.d.ts.map +1 -0
- package/dist/lifecycleState/index.js +7 -0
- package/dist/lifecycleState/index.js.map +1 -0
- package/dist/lifecycleState/lifecycleState.machine.d.ts +36 -0
- package/dist/lifecycleState/lifecycleState.machine.d.ts.map +1 -0
- package/dist/lifecycleState/lifecycleState.machine.js +57 -0
- package/dist/lifecycleState/lifecycleState.machine.js.map +1 -0
- package/package.json +53 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lifecycleSignal/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @zudojs/lifecycle/signal
|
|
3
|
+
*
|
|
4
|
+
* Process signal handler — manages SIGTERM, SIGINT, SIGHUP for graceful shutdown.
|
|
5
|
+
*/
|
|
6
|
+
/** Options for signal handling. */
|
|
7
|
+
export interface SignalHandlerOptions {
|
|
8
|
+
/** Signals to listen for. */
|
|
9
|
+
readonly signals?: readonly NodeJS.Signals[];
|
|
10
|
+
/** Function to call when a signal is received. */
|
|
11
|
+
readonly handler: () => void;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Installs process signal handlers that trigger lifecycle shutdown.
|
|
15
|
+
* Returns a cleanup function to remove the handlers.
|
|
16
|
+
*/
|
|
17
|
+
export declare function installSignalHandlers(options: SignalHandlerOptions): () => void;
|
|
18
|
+
/** Default signal configuration for graceful shutdown. */
|
|
19
|
+
export declare const DEFAULT_SHUTDOWN_SIGNALS: readonly NodeJS.Signals[];
|
|
20
|
+
//# sourceMappingURL=lifecycleSignal.handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycleSignal.handler.d.ts","sourceRoot":"","sources":["../../src/lifecycleSignal/lifecycleSignal.handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,mCAAmC;AACnC,MAAM,WAAW,oBAAoB;IACnC,6BAA6B;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,CAAC,OAAO,EAAE,CAAC;IAC7C,kDAAkD;IAClD,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,oBAAoB,GAC5B,MAAM,IAAI,CAmBZ;AAED,0DAA0D;AAC1D,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,CAAC,OAAO,EACxB,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @zudojs/lifecycle/signal
|
|
3
|
+
*
|
|
4
|
+
* Process signal handler — manages SIGTERM, SIGINT, SIGHUP for graceful shutdown.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Installs process signal handlers that trigger lifecycle shutdown.
|
|
8
|
+
* Returns a cleanup function to remove the handlers.
|
|
9
|
+
*/
|
|
10
|
+
export function installSignalHandlers(options) {
|
|
11
|
+
const signals = options.signals ?? ["SIGINT", "SIGTERM"];
|
|
12
|
+
const handler = options.handler;
|
|
13
|
+
const installed = [];
|
|
14
|
+
for (const signal of signals) {
|
|
15
|
+
const listener = () => {
|
|
16
|
+
handler();
|
|
17
|
+
};
|
|
18
|
+
process.on(signal, listener);
|
|
19
|
+
installed.push([signal, listener]);
|
|
20
|
+
}
|
|
21
|
+
return () => {
|
|
22
|
+
for (const [sig, listener] of installed) {
|
|
23
|
+
process.removeListener(sig, listener);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/** Default signal configuration for graceful shutdown. */
|
|
28
|
+
export const DEFAULT_SHUTDOWN_SIGNALS = Object.freeze(["SIGINT", "SIGTERM"]);
|
|
29
|
+
//# sourceMappingURL=lifecycleSignal.handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycleSignal.handler.js","sourceRoot":"","sources":["../../src/lifecycleSignal/lifecycleSignal.handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAA6B;IAE7B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAEhC,MAAM,SAAS,GAAwC,EAAE,CAAC;IAE1D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QACF,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC7B,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,GAAG,EAAE;QACV,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,SAAS,EAAE,CAAC;YACxC,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,0DAA0D;AAC1D,MAAM,CAAC,MAAM,wBAAwB,GACnC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lifecycleState/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lifecycleState/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @zudojs/lifecycle/state-machine
|
|
3
|
+
*
|
|
4
|
+
* Lifecycle state machine — validates transitions and tracks current state.
|
|
5
|
+
*/
|
|
6
|
+
import { LifecycleState } from "@zudojs/constants";
|
|
7
|
+
/**
|
|
8
|
+
* Manages lifecycle state transitions for a single entity.
|
|
9
|
+
* Validates transitions against the allowed transition map.
|
|
10
|
+
*/
|
|
11
|
+
export declare class LifecycleStateMachine {
|
|
12
|
+
private readonly _id;
|
|
13
|
+
private _state;
|
|
14
|
+
constructor(_id: string);
|
|
15
|
+
/** Returns the current state. */
|
|
16
|
+
get state(): LifecycleState;
|
|
17
|
+
/** Returns whether the entity is in a terminal state. */
|
|
18
|
+
get isTerminal(): boolean;
|
|
19
|
+
/** Returns whether the entity is in a running state. */
|
|
20
|
+
get isRunning(): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Transitions to a new state.
|
|
23
|
+
* Throws LifecycleStateError if the transition is invalid.
|
|
24
|
+
*/
|
|
25
|
+
transition(to: LifecycleState): void;
|
|
26
|
+
/**
|
|
27
|
+
* Checks whether a transition to the given state is valid.
|
|
28
|
+
*/
|
|
29
|
+
canTransition(to: LifecycleState): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Force-sets the state without validation.
|
|
32
|
+
* Use only for initialization or error recovery.
|
|
33
|
+
*/
|
|
34
|
+
forceState(state: LifecycleState): void;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=lifecycleState.machine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycleState.machine.d.ts","sourceRoot":"","sources":["../../src/lifecycleState/lifecycleState.machine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,cAAc,EAEf,MAAM,mBAAmB,CAAC;AAG3B;;;GAGG;AACH,qBAAa,qBAAqB;IAGpB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAFhC,OAAO,CAAC,MAAM,CAAuC;IAErD,YAA6B,GAAG,EAAE,MAAM,EAAI;IAE5C,iCAAiC;IACjC,IAAW,KAAK,IAAI,cAAc,CAEjC;IAED,yDAAyD;IACzD,IAAW,UAAU,IAAI,OAAO,CAK/B;IAED,wDAAwD;IACxD,IAAW,SAAS,IAAI,OAAO,CAK9B;IAED;;;OAGG;IACI,UAAU,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CAK1C;IAED;;OAEG;IACI,aAAa,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAGhD;IAED;;;OAGG;IACI,UAAU,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAE7C;CACF"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @zudojs/lifecycle/state-machine
|
|
3
|
+
*
|
|
4
|
+
* Lifecycle state machine — validates transitions and tracks current state.
|
|
5
|
+
*/
|
|
6
|
+
import { LifecycleState, LIFECYCLE_VALID_TRANSITIONS, } from "@zudojs/constants";
|
|
7
|
+
import { LifecycleStateError } from "@zudojs/errors";
|
|
8
|
+
/**
|
|
9
|
+
* Manages lifecycle state transitions for a single entity.
|
|
10
|
+
* Validates transitions against the allowed transition map.
|
|
11
|
+
*/
|
|
12
|
+
export class LifecycleStateMachine {
|
|
13
|
+
_id;
|
|
14
|
+
_state = LifecycleState.IDLE;
|
|
15
|
+
constructor(_id) {
|
|
16
|
+
this._id = _id;
|
|
17
|
+
}
|
|
18
|
+
/** Returns the current state. */
|
|
19
|
+
get state() {
|
|
20
|
+
return this._state;
|
|
21
|
+
}
|
|
22
|
+
/** Returns whether the entity is in a terminal state. */
|
|
23
|
+
get isTerminal() {
|
|
24
|
+
return (this._state === LifecycleState.DISPOSED ||
|
|
25
|
+
this._state === LifecycleState.STOPPED);
|
|
26
|
+
}
|
|
27
|
+
/** Returns whether the entity is in a running state. */
|
|
28
|
+
get isRunning() {
|
|
29
|
+
return (this._state === LifecycleState.STARTED ||
|
|
30
|
+
this._state === LifecycleState.READY);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Transitions to a new state.
|
|
34
|
+
* Throws LifecycleStateError if the transition is invalid.
|
|
35
|
+
*/
|
|
36
|
+
transition(to) {
|
|
37
|
+
if (!this.canTransition(to)) {
|
|
38
|
+
throw new LifecycleStateError(this._state, to, this._id);
|
|
39
|
+
}
|
|
40
|
+
this._state = to;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Checks whether a transition to the given state is valid.
|
|
44
|
+
*/
|
|
45
|
+
canTransition(to) {
|
|
46
|
+
const allowed = LIFECYCLE_VALID_TRANSITIONS[this._state];
|
|
47
|
+
return allowed.includes(to);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Force-sets the state without validation.
|
|
51
|
+
* Use only for initialization or error recovery.
|
|
52
|
+
*/
|
|
53
|
+
forceState(state) {
|
|
54
|
+
this._state = state;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=lifecycleState.machine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycleState.machine.js","sourceRoot":"","sources":["../../src/lifecycleState/lifecycleState.machine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,cAAc,EACd,2BAA2B,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD;;;GAGG;AACH,MAAM,OAAO,qBAAqB;IAGH,GAAG;IAFxB,MAAM,GAAmB,cAAc,CAAC,IAAI,CAAC;IAErD,YAA6B,GAAW;mBAAX,GAAG;IAAW,CAAC;IAE5C,iCAAiC;IACjC,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,yDAAyD;IACzD,IAAW,UAAU;QACnB,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,cAAc,CAAC,QAAQ;YACvC,IAAI,CAAC,MAAM,KAAK,cAAc,CAAC,OAAO,CACvC,CAAC;IACJ,CAAC;IAED,wDAAwD;IACxD,IAAW,SAAS;QAClB,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,cAAc,CAAC,OAAO;YACtC,IAAI,CAAC,MAAM,KAAK,cAAc,CAAC,KAAK,CACrC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,UAAU,CAAC,EAAkB;QAClC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;IAED;;OAEG;IACI,aAAa,CAAC,EAAkB;QACrC,MAAM,OAAO,GAAG,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACI,UAAU,CAAC,KAAqB;QACrC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;CACF"}
|
package/package.json
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@zudojs/lifecycle",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Application and component lifecycle orchestration with state machine, dependency ordering, graceful shutdown, rollback, and signals.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"main": "./dist/index.js",
|
|
8
|
+
"module": "./dist/index.js",
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"import": "./dist/index.js"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"dist"
|
|
18
|
+
],
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"@zudojs/errors": "0.0.1",
|
|
21
|
+
"@zudojs/constants": "0.0.1"
|
|
22
|
+
},
|
|
23
|
+
"devDependencies": {
|
|
24
|
+
"@types/node": "^26.4.1",
|
|
25
|
+
"typescript": "^7.0.2",
|
|
26
|
+
"vitest": "^4.1.11"
|
|
27
|
+
},
|
|
28
|
+
"engines": {
|
|
29
|
+
"node": ">=24.0.0"
|
|
30
|
+
},
|
|
31
|
+
"publishConfig": {
|
|
32
|
+
"access": "public"
|
|
33
|
+
},
|
|
34
|
+
"keywords": [
|
|
35
|
+
"zudojs",
|
|
36
|
+
"lifecycle",
|
|
37
|
+
"state-machine",
|
|
38
|
+
"startup",
|
|
39
|
+
"shutdown"
|
|
40
|
+
],
|
|
41
|
+
"homepage": "https://github.com/oyinlola-tech/zudo#readme",
|
|
42
|
+
"repository": {
|
|
43
|
+
"type": "git",
|
|
44
|
+
"url": "https://github.com/oyinlola-tech/zudo"
|
|
45
|
+
},
|
|
46
|
+
"scripts": {
|
|
47
|
+
"build": "tsc -p tsconfig.json",
|
|
48
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
49
|
+
"clean": "rm -rf dist",
|
|
50
|
+
"test": "vitest run",
|
|
51
|
+
"test:watch": "vitest"
|
|
52
|
+
}
|
|
53
|
+
}
|