@medusajs/workflows-sdk 0.1.3 → 0.1.4-next-20240305095805

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/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from "./helper";
2
2
  export * from "./medusa-workflow";
3
3
  export * as WorkflowOrchestratorTypes from "./types";
4
+ export { IWorkflowEngineService } from "./types/service";
4
5
  export * from "./utils/composer";
5
6
  export * as Composer from "./utils/composer";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,oDAAiC;AACjC,qEAAoD;AACpD,mDAAgC;AAChC,6DAA4C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,oDAAiC;AACjC,qEAAoD;AAEpD,mDAAgC;AAChC,6DAA4C"}
@@ -1,4 +1,4 @@
1
- import { BaseFilterable } from "@medusajs/types";
1
+ import { BaseFilterable, OperatorMap } from "@medusajs/types";
2
2
  export interface WorkflowExecutionDTO {
3
3
  id: string;
4
4
  workflow_id: string;
@@ -11,8 +11,8 @@ export interface WorkflowExecutionDTO {
11
11
  deleted_at: Date;
12
12
  }
13
13
  export interface FilterableWorkflowExecutionProps extends BaseFilterable<FilterableWorkflowExecutionProps> {
14
- id?: string[];
15
- workflow_id?: string[];
16
- transaction_id?: string[];
17
- state?: any[];
14
+ id?: string | string[] | OperatorMap<string>;
15
+ workflow_id?: string | string[] | OperatorMap<string>;
16
+ transaction_id?: string | string[] | OperatorMap<string>;
17
+ state?: string | string[] | OperatorMap<string>;
18
18
  }
@@ -18,7 +18,11 @@ export type IdempotencyKeyParts = {
18
18
  stepId: string;
19
19
  action: "invoke" | "compensate";
20
20
  };
21
- export interface IWorkflowsModuleService extends IModuleService {
21
+ export interface IWorkflowEngineService extends IModuleService {
22
+ retrieveWorkflowExecution(idOrObject: string | {
23
+ workflow_id: string;
24
+ transaction_id: string;
25
+ }, config?: FindConfig<WorkflowExecutionDTO>, sharedContext?: Context): Promise<WorkflowExecutionDTO>;
22
26
  listWorkflowExecution(filters?: FilterableWorkflowExecutionProps, config?: FindConfig<WorkflowExecutionDTO>, sharedContext?: Context): Promise<WorkflowExecutionDTO[]>;
23
27
  listAndCountWorkflowExecution(filters?: FilterableWorkflowExecutionProps, config?: FindConfig<WorkflowExecutionDTO>, sharedContext?: Context): Promise<[WorkflowExecutionDTO[], number]>;
24
28
  run<TWorkflow extends ReturnWorkflow<any, any, any> = ReturnWorkflow<any, any, any>, TData = UnwrapWorkflowInputDataType<TWorkflow>>(workflowId: string, options?: WorkflowOrchestratorRunDTO, sharedContext?: Context): Promise<{
@@ -34,7 +38,7 @@ export interface IWorkflowsModuleService extends IModuleService {
34
38
  options?: Record<string, any>;
35
39
  }, sharedContext?: Context): any;
36
40
  setStepFailure({ idempotencyKey, stepResponse, options, }: {
37
- idempotencyKey: string | object;
41
+ idempotencyKey: string | IdempotencyKeyParts;
38
42
  stepResponse: unknown;
39
43
  options?: Record<string, any>;
40
44
  }, sharedContext?: Context): any;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const composer_1 = require("./composer");
4
4
  const step1 = (0, composer_1.createStep)("step1", async (input, context) => {
5
- return new composer_1.StepResponse({ step1: "step1" });
5
+ return new composer_1.StepResponse({ step1: ["step1"] });
6
6
  });
7
7
  const step2 = (0, composer_1.createStep)("step2", async (input, context) => {
8
8
  return new composer_1.StepResponse({ step2: input });
@@ -13,23 +13,34 @@ const step3 = (0, composer_1.createStep)("step3", async () => {
13
13
  const workflow = (0, composer_1.createWorkflow)("workflow", function () {
14
14
  const step1Res = step1();
15
15
  step3();
16
- return step2({ test: "test", test2: step1Res.step1 });
16
+ return step2({ filters: { id: step1Res.step1 } });
17
17
  });
18
18
  workflow()
19
19
  .run({})
20
20
  .then((res) => {
21
- console.log(res.result); // result: { step2: { test: "test", test2: "step1" } }
21
+ console.log(res.result);
22
22
  });
23
- /*type type0 = typeof workflow extends ReturnWorkflow<infer T, infer R, infer X>
24
- ? T
25
- : never
23
+ /*const step1 = createStep("step1", async (input: {}, context) => {
24
+ return new StepResponse({ step1: ["step1"] })
25
+ })
26
26
 
27
- function run<
28
- TWorkflow extends ReturnWorkflow<any, any, any>,
29
- TData = TWorkflow extends ReturnWorkflow<infer T, infer R, infer X>
30
- ? T
31
- : never
32
- >(name: string, options: FlowRunOptions<TData>) {}
27
+ const step2 = createStep("step2", async (input: string[], context) => {
28
+ return new StepResponse({ step2: input })
29
+ })
33
30
 
34
- const test = run<typeof workflow>("workflow", { input: "string" })*/
31
+ const step3 = createStep("step3", async () => {
32
+ return new StepResponse({ step3: "step3" })
33
+ })
34
+
35
+ const workflow = createWorkflow("workflow", function () {
36
+ const step1Res = step1()
37
+ step3()
38
+ return step2(step1Res.step1)
39
+ })
40
+
41
+ workflow()
42
+ .run({})
43
+ .then((res) => {
44
+ console.log(res.result)
45
+ })*/
35
46
  //# sourceMappingURL=_playground.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_playground.js","sourceRoot":"","sources":["../../src/utils/_playground.ts"],"names":[],"mappings":";;AAAA,yCAAqE;AAErE,MAAM,KAAK,GAAG,IAAA,qBAAU,EAAC,OAAO,EAAE,KAAK,EAAE,KAAS,EAAE,OAAO,EAAE,EAAE;IAC7D,OAAO,IAAI,uBAAY,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;AAC7C,CAAC,CAAC,CAAA;AAEF,MAAM,KAAK,GAAG,IAAA,qBAAU,EACtB,OAAO,EACP,KAAK,EAAE,KAAsC,EAAE,OAAO,EAAE,EAAE;IACxD,OAAO,IAAI,uBAAY,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;AAC3C,CAAC,CACF,CAAA;AAED,MAAM,KAAK,GAAG,IAAA,qBAAU,EAAC,OAAO,EAAE,KAAK,IAAI,EAAE;IAC3C,OAAO,IAAI,uBAAY,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;AAC7C,CAAC,CAAC,CAAA;AAEF,MAAM,QAAQ,GAAG,IAAA,yBAAc,EAAC,UAAU,EAAE;IAC1C,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAA;IACxB,KAAK,EAAE,CAAA;IACP,OAAO,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;AACvD,CAAC,CAAC,CAAA;AAEF,QAAQ,EAAE;KACP,GAAG,CAAC,EAAE,CAAC;KACP,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;IACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA,CAAC,sDAAsD;AAChF,CAAC,CAAC,CAAA;AAEJ;;;;;;;;;;;oEAWoE"}
1
+ {"version":3,"file":"_playground.js","sourceRoot":"","sources":["../../src/utils/_playground.ts"],"names":[],"mappings":";;AAAA,yCAAqE;AAErE,MAAM,KAAK,GAAG,IAAA,qBAAU,EAAC,OAAO,EAAE,KAAK,EAAE,KAAS,EAAE,OAAO,EAAE,EAAE;IAC7D,OAAO,IAAI,uBAAY,CAAC,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;AAC/C,CAAC,CAAC,CAAA;AAEF,MAAM,KAAK,GAAG,IAAA,qBAAU,EACtB,OAAO,EACP,KAAK,EAAE,KAAoC,EAAE,OAAO,EAAE,EAAE;IACtD,OAAO,IAAI,uBAAY,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;AAC3C,CAAC,CACF,CAAA;AAED,MAAM,KAAK,GAAG,IAAA,qBAAU,EAAC,OAAO,EAAE,KAAK,IAAI,EAAE;IAC3C,OAAO,IAAI,uBAAY,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;AAC7C,CAAC,CAAC,CAAA;AAEF,MAAM,QAAQ,GAAG,IAAA,yBAAc,EAAC,UAAU,EAAE;IAC1C,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAA;IACxB,KAAK,EAAE,CAAA;IACP,OAAO,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AACnD,CAAC,CAAC,CAAA;AAEF,QAAQ,EAAE;KACP,GAAG,CAAC,EAAE,CAAC;KACP,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;IACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;AACzB,CAAC,CAAC,CAAA;AAEJ;;;;;;;;;;;;;;;;;;;;;;MAsBM"}
@@ -80,6 +80,7 @@ function applyStep({ stepName, stepConfig = {}, input, invokeFn, compensateFn, }
80
80
  ...stepConfig,
81
81
  ...localConfig,
82
82
  });
83
+ ret.__step__ = newStepName;
83
84
  orchestration_1.WorkflowManager.update(this.workflowId, this.flow, this.handlers);
84
85
  return (0, proxy_1.proxify)(ret);
85
86
  },
@@ -1 +1 @@
1
- {"version":3,"file":"create-step.js","sourceRoot":"","sources":["../../../src/utils/composer/create-step.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-step.js","sourceRoot":"","sources":["../../../src/utils/composer/create-step.ts"],"names":[],"mappings":";;;AAAA,2DAGgC;AAChC,2CAA8D;AAC9D,+BAA2B;AAC3B,uCAAsD;AACtD,2CAAyC;AA4EzC;;;;;;;;;;;GAWG;AACH,SAAS,SAAS,CAOhB,EACA,QAAQ,EACR,UAAU,GAAG,EAAE,EACf,KAAK,EACL,QAAQ,EACR,YAAY,GAMb;IACC,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAA;SACF;QAED,MAAM,OAAO,GAAG;YACd,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE;gBACnC,MAAM,gBAAgB,GAAyB;oBAC7C,SAAS,EAAE,kBAAkB,CAAC,SAAS;oBACvC,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;oBACrC,OAAO,EAAE,kBAAkB,CAAC,OAAO;iBACpC,CAAA;gBAED,MAAM,QAAQ,GAAG,KAAK;oBACpB,CAAC,CAAC,MAAM,IAAA,sBAAY,EAAC,KAAK,EAAE,kBAAkB,CAAC;oBAC/C,CAAC,CAAC,EAAE,CAAA;gBACN,MAAM,YAAY,GAA2B,MAAM,QAAQ,CAAC,KAAK,CAC/D,IAAI,EACJ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAC7B,CAAA;gBAED,MAAM,gBAAgB,GACpB,YAAY,EAAE,MAAM,KAAK,0BAAkB,CAAC,0BAA0B;oBACpE,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE;oBACvB,CAAC,CAAC,YAAY,CAAA;gBAElB,OAAO;oBACL,MAAM,EAAE,0BAAkB,CAAC,0BAA0B;oBACrD,MAAM,EAAE,gBAAgB;iBACzB,CAAA;YACH,CAAC;YACD,UAAU,EAAE,YAAY;gBACtB,CAAC,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE;oBAC3B,MAAM,gBAAgB,GAAyB;wBAC7C,SAAS,EAAE,kBAAkB,CAAC,SAAS;wBACvC,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;wBACrC,OAAO,EAAE,kBAAkB,CAAC,OAAO;qBACpC,CAAA;oBAED,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;oBAC9D,MAAM,YAAY,GAChB,UAAU,EAAE,MAAM;wBAClB,0BAAkB,CAAC,0BAA0B;wBAC3C,CAAC,CAAC,UAAU,CAAC,eAAe;4BAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;wBACxD,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;oBAE1D,MAAM,IAAI,GAAG,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAA;oBAC7C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;oBACnD,OAAO;wBACL,MAAM;qBACP,CAAA;gBACH,CAAC;gBACH,CAAC,CAAC,SAAS;SACd,CAAA;QAED,UAAU,CAAC,IAAI,GAAG,IAAA,WAAI,GAAE,CAAA;QACxB,UAAU,CAAC,cAAc,GAAG,CAAC,YAAY,CAAA;QAEzC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;QAEzC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;SACrC;QAED,MAAM,GAAG,GAAG;YACV,MAAM,EAAE,0BAAkB,CAAC,kBAAkB;YAC7C,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,CACN,WAGC,EACD,EAAE;gBACF,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,IAAI,QAAQ,CAAA;gBAEhD,OAAO,WAAW,CAAC,IAAI,CAAA;gBAEvB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;gBAEvC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAK,EAAE,WAAW,EAAE;oBACrD,GAAG,UAAU;oBACb,GAAG,WAAW;iBACf,CAAC,CAAA;gBAEF,GAAG,CAAC,QAAQ,GAAG,WAAW,CAAA;gBAC1B,+BAAe,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;gBAEjE,OAAO,IAAA,eAAO,EAAC,GAAG,CAAC,CAAA;YACrB,CAAC;SACF,CAAA;QAED,OAAO,IAAA,eAAO,EAAC,GAAG,CAAC,CAAA;IACrB,CAAC,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,SAAgB,UAAU;AAKxB;;GAEG;AACH,YAKM;AACN;;;GAGG;AACH,QAIC;AACD;;;;;GAKG;AACH,YAAyD;IAEzD,MAAM,QAAQ,GACZ,CAAC,IAAA,gBAAQ,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAA;IAC9E,MAAM,MAAM,GAAG,IAAA,gBAAQ,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAA;IAEzD,MAAM,QAAQ,GAAG,UACf,KAIa;QAEb,IAAI,CAAC,MAAM,CAAC,0BAAkB,CAAC,mCAAmC,CAAC,EAAE;YACnE,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAA;SACF;QAED,MAAM,UAAU,GACd,MAAM,CACJ,0BAAkB,CAAC,mCAAmC,CAEzD,CAAC,UAAU,CAAA;QAEZ,OAAO,UAAU,CACf,SAAS,CAKP;YACA,QAAQ;YACR,UAAU,EAAE,MAAM;YAClB,KAAK;YACL,QAAQ;YACR,YAAY;SACb,CAAC,CACH,CAAA;IACH,CAAoD,CAAA;IAEpD,QAAQ,CAAC,MAAM,GAAG,0BAAkB,CAAC,sBAAsB,CAAA;IAC3D,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAE5B,OAAO,QAAQ,CAAA;AACjB,CAAC;AA1ED,gCA0EC"}
@@ -103,7 +103,7 @@ export declare class StepResponse<TOutput, TCompensateInput = TOutput> {
103
103
  /**
104
104
  * @internal
105
105
  */
106
- get __type(): symbol;
106
+ get __type(): string;
107
107
  /**
108
108
  * @internal
109
109
  */
@@ -116,7 +116,7 @@ export declare class StepResponse<TOutput, TCompensateInput = TOutput> {
116
116
  * @internal
117
117
  */
118
118
  toJSON(): {
119
- __type: symbol;
119
+ __type: string;
120
120
  output: TOutput;
121
121
  compensateInput: TCompensateInput | undefined;
122
122
  };
@@ -1,8 +1,11 @@
1
1
  import { OrchestratorBuilder, TransactionContext as OriginalWorkflowTransactionContext, TransactionPayload, TransactionStepsDefinition, WorkflowHandler } from "@medusajs/orchestration";
2
2
  import { Context, MedusaContainer } from "@medusajs/types";
3
- export type StepFunctionResult<TOutput extends unknown | unknown[] = unknown> = (this: CreateWorkflowComposerContext) => WorkflowData<{
4
- [K in keyof TOutput]: TOutput[K];
5
- }>;
3
+ export type StepFunctionResult<TOutput extends unknown | unknown[] = unknown> = (this: CreateWorkflowComposerContext) => WorkflowData<TOutput>;
4
+ type StepFunctionReturnConfig<TOutput> = {
5
+ config(config: {
6
+ name?: string;
7
+ } & Omit<TransactionStepsDefinition, "next" | "uuid" | "action">): WorkflowData<TOutput>;
8
+ };
6
9
  /**
7
10
  * A step function to be used in a workflow.
8
11
  *
@@ -10,22 +13,12 @@ export type StepFunctionResult<TOutput extends unknown | unknown[] = unknown> =
10
13
  * @typeParam TOutput - The type of the output of the step.
11
14
  */
12
15
  export type StepFunction<TInput, TOutput = unknown> = (keyof TInput extends [] ? {
13
- (): WorkflowData<{
14
- [K in keyof TOutput]: TOutput[K];
15
- }>;
16
+ (): WorkflowData<TOutput> & StepFunctionReturnConfig<TOutput>;
16
17
  } : {
17
- (input: TInput extends object ? {
18
- [K in keyof TInput]: WorkflowData<TInput[K]> | TInput[K];
19
- } : WorkflowData<TInput> | TInput): WorkflowData<{
20
- [K in keyof TOutput]: TOutput[K];
21
- }>;
22
- }) & WorkflowDataProperties<{
23
- [K in keyof TOutput]: TOutput[K];
24
- }> & WorkflowDataProperties<{
25
- [K in keyof TOutput]: TOutput[K];
26
- }>;
18
+ (input: WorkflowData<TInput> | TInput): WorkflowData<TOutput> & StepFunctionReturnConfig<TOutput>;
19
+ }) & WorkflowDataProperties<TOutput>;
27
20
  export type WorkflowDataProperties<T = unknown> = {
28
- __type: Symbol;
21
+ __type: string;
29
22
  __step__: string;
30
23
  };
31
24
  /**
@@ -33,14 +26,12 @@ export type WorkflowDataProperties<T = unknown> = {
33
26
  *
34
27
  * @typeParam T - The type of a step's input or result.
35
28
  */
36
- export type WorkflowData<T = unknown> = (T extends object ? {
37
- [Key in keyof T]: WorkflowData<T[Key]>;
38
- } : WorkflowDataProperties<T>) & WorkflowDataProperties<T> & {
29
+ export type WorkflowData<T = unknown> = (T extends Array<infer Item> ? Array<Item | WorkflowData<Item>> : T extends object ? {
30
+ [Key in keyof T]: T[Key] | WorkflowData<T[Key]>;
31
+ } : T & WorkflowDataProperties<T>) & T & WorkflowDataProperties<T> & {
39
32
  config(config: {
40
33
  name?: string;
41
- } & Omit<TransactionStepsDefinition, "next" | "uuid" | "action">): T extends object ? WorkflowData<T extends object ? {
42
- [K in keyof T]: T[K];
43
- } : T> : T;
34
+ } & Omit<TransactionStepsDefinition, "next" | "uuid" | "action">): WorkflowData<T>;
44
35
  };
45
36
  export type CreateWorkflowComposerContext = {
46
37
  hooks_: string[];
@@ -76,3 +67,4 @@ export type WorkflowTransactionContext = StepExecutionContext & OriginalWorkflow
76
67
  };
77
68
  };
78
69
  };
70
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@medusajs/workflows-sdk",
3
- "version": "0.1.3",
3
+ "version": "0.1.4-next-20240305095805",
4
4
  "description": "Set of workflows tooling for Medusa",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -21,7 +21,7 @@
21
21
  "author": "Medusa",
22
22
  "license": "MIT",
23
23
  "devDependencies": {
24
- "@medusajs/types": "^1.11.12",
24
+ "@medusajs/types": "1.11.14-next-20240305095805",
25
25
  "cross-env": "^5.2.1",
26
26
  "jest": "^29.6.3",
27
27
  "rimraf": "^5.0.1",
@@ -29,9 +29,9 @@
29
29
  "typescript": "^5.1.6"
30
30
  },
31
31
  "dependencies": {
32
- "@medusajs/modules-sdk": "^1.12.8",
32
+ "@medusajs/modules-sdk": "1.12.9-next-20240305095805",
33
33
  "@medusajs/orchestration": "^0.5.4",
34
- "@medusajs/utils": "^1.11.5",
34
+ "@medusajs/utils": "1.11.7-next-20240305095805",
35
35
  "awilix": "^8.0.1",
36
36
  "ulid": "^2.3.0"
37
37
  },
@@ -40,6 +40,6 @@
40
40
  "build": "rimraf dist && tsc --build",
41
41
  "watch": "tsc --build --watch",
42
42
  "test": "jest --runInBand --bail --forceExit",
43
- "test:run": "../../node_modules/.bin/ts-node ./src/utils/_test.ts"
43
+ "test:run": "../../node_modules/.bin/ts-node ./src/utils/_playground.ts"
44
44
  }
45
45
  }