@medusajs/modules-sdk 1.8.7 → 1.8.8-beta-20230618193938

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.
@@ -3,10 +3,14 @@ export declare enum Modules {
3
3
  EVENT_BUS = "eventBus",
4
4
  STOCK_LOCATION = "stockLocationService",
5
5
  INVENTORY = "inventoryService",
6
- CACHE = "cacheService"
6
+ CACHE = "cacheService",
7
+ PRODUCT = "productModuleService"
7
8
  }
8
9
  export declare const ModulesDefinition: {
9
10
  [key: string]: ModuleDefinition;
10
11
  };
11
12
  export declare const MODULE_DEFINITIONS: ModuleDefinition[];
13
+ export declare const MODULE_PACKAGE_NAMES: {
14
+ productModuleService: string;
15
+ };
12
16
  export default MODULE_DEFINITIONS;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MODULE_DEFINITIONS = exports.ModulesDefinition = exports.Modules = void 0;
3
+ exports.MODULE_PACKAGE_NAMES = exports.MODULE_DEFINITIONS = exports.ModulesDefinition = exports.Modules = void 0;
4
4
  const types_1 = require("@medusajs/types");
5
5
  var Modules;
6
6
  (function (Modules) {
@@ -8,6 +8,7 @@ var Modules;
8
8
  Modules["STOCK_LOCATION"] = "stockLocationService";
9
9
  Modules["INVENTORY"] = "inventoryService";
10
10
  Modules["CACHE"] = "cacheService";
11
+ Modules["PRODUCT"] = "productModuleService";
11
12
  })(Modules = exports.Modules || (exports.Modules = {}));
12
13
  exports.ModulesDefinition = {
13
14
  [Modules.EVENT_BUS]: {
@@ -61,7 +62,22 @@ exports.ModulesDefinition = {
61
62
  resources: types_1.MODULE_RESOURCE_TYPE.SHARED,
62
63
  },
63
64
  },
65
+ [Modules.PRODUCT]: {
66
+ key: Modules.PRODUCT,
67
+ registrationName: Modules.PRODUCT,
68
+ defaultPackage: false,
69
+ label: "ProductModuleService",
70
+ isRequired: false,
71
+ canOverride: true,
72
+ dependencies: [],
73
+ defaultModuleDeclaration: {
74
+ scope: types_1.MODULE_SCOPE.EXTERNAL,
75
+ },
76
+ },
64
77
  };
65
78
  exports.MODULE_DEFINITIONS = Object.values(exports.ModulesDefinition);
79
+ exports.MODULE_PACKAGE_NAMES = {
80
+ [Modules.PRODUCT]: "@medusajs/product",
81
+ };
66
82
  exports.default = exports.MODULE_DEFINITIONS;
67
83
  //# sourceMappingURL=definitions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":";;;AAAA,2CAIwB;AAExB,IAAY,OAKX;AALD,WAAY,OAAO;IACjB,iCAAsB,CAAA;IACtB,kDAAuC,CAAA;IACvC,yCAA8B,CAAA;IAC9B,iCAAsB,CAAA;AACxB,CAAC,EALW,OAAO,GAAP,eAAO,KAAP,eAAO,QAKlB;AAEY,QAAA,iBAAiB,GAAwC;IACpE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QACnB,GAAG,EAAE,OAAO,CAAC,SAAS;QACtB,gBAAgB,EAAE,uBAAuB;QACzC,cAAc,EAAE,2BAA2B;QAC3C,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,CAAC,QAAQ,CAAC;QACxB,wBAAwB,EAAE;YACxB,KAAK,EAAE,oBAAY,CAAC,QAAQ;YAC5B,SAAS,EAAE,4BAAoB,CAAC,MAAM;SACvC;KACF;IACD,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;QACxB,GAAG,EAAE,OAAO,CAAC,cAAc;QAC3B,gBAAgB,EAAE,sBAAsB;QACxC,cAAc,EAAE,KAAK;QACrB,KAAK,EAAE,sBAAsB;QAC7B,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,CAAC,iBAAiB,CAAC;QACjC,wBAAwB,EAAE;YACxB,KAAK,EAAE,oBAAY,CAAC,QAAQ;YAC5B,SAAS,EAAE,4BAAoB,CAAC,MAAM;SACvC;KACF;IACD,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QACnB,GAAG,EAAE,OAAO,CAAC,SAAS;QACtB,gBAAgB,EAAE,kBAAkB;QACpC,cAAc,EAAE,KAAK;QACrB,KAAK,EAAE,kBAAkB;QACzB,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,CAAC,iBAAiB,CAAC;QACjC,wBAAwB,EAAE;YACxB,KAAK,EAAE,oBAAY,CAAC,QAAQ;YAC5B,SAAS,EAAE,4BAAoB,CAAC,MAAM;SACvC;KACF;IACD,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACf,GAAG,EAAE,OAAO,CAAC,KAAK;QAClB,gBAAgB,EAAE,cAAc;QAChC,cAAc,EAAE,0BAA0B;QAC1C,KAAK,EAAE,cAAc;QACrB,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,IAAI;QACjB,wBAAwB,EAAE;YACxB,KAAK,EAAE,oBAAY,CAAC,QAAQ;YAC5B,SAAS,EAAE,4BAAoB,CAAC,MAAM;SACvC;KACF;CACF,CAAA;AAEY,QAAA,kBAAkB,GAC7B,MAAM,CAAC,MAAM,CAAC,yBAAiB,CAAC,CAAA;AAElC,kBAAe,0BAAkB,CAAA"}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":";;;AAAA,2CAIwB;AAExB,IAAY,OAMX;AAND,WAAY,OAAO;IACjB,iCAAsB,CAAA;IACtB,kDAAuC,CAAA;IACvC,yCAA8B,CAAA;IAC9B,iCAAsB,CAAA;IACtB,2CAAgC,CAAA;AAClC,CAAC,EANW,OAAO,GAAP,eAAO,KAAP,eAAO,QAMlB;AAEY,QAAA,iBAAiB,GAAwC;IACpE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QACnB,GAAG,EAAE,OAAO,CAAC,SAAS;QACtB,gBAAgB,EAAE,uBAAuB;QACzC,cAAc,EAAE,2BAA2B;QAC3C,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,CAAC,QAAQ,CAAC;QACxB,wBAAwB,EAAE;YACxB,KAAK,EAAE,oBAAY,CAAC,QAAQ;YAC5B,SAAS,EAAE,4BAAoB,CAAC,MAAM;SACvC;KACF;IACD,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;QACxB,GAAG,EAAE,OAAO,CAAC,cAAc;QAC3B,gBAAgB,EAAE,sBAAsB;QACxC,cAAc,EAAE,KAAK;QACrB,KAAK,EAAE,sBAAsB;QAC7B,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,CAAC,iBAAiB,CAAC;QACjC,wBAAwB,EAAE;YACxB,KAAK,EAAE,oBAAY,CAAC,QAAQ;YAC5B,SAAS,EAAE,4BAAoB,CAAC,MAAM;SACvC;KACF;IACD,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QACnB,GAAG,EAAE,OAAO,CAAC,SAAS;QACtB,gBAAgB,EAAE,kBAAkB;QACpC,cAAc,EAAE,KAAK;QACrB,KAAK,EAAE,kBAAkB;QACzB,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,CAAC,iBAAiB,CAAC;QACjC,wBAAwB,EAAE;YACxB,KAAK,EAAE,oBAAY,CAAC,QAAQ;YAC5B,SAAS,EAAE,4BAAoB,CAAC,MAAM;SACvC;KACF;IACD,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACf,GAAG,EAAE,OAAO,CAAC,KAAK;QAClB,gBAAgB,EAAE,cAAc;QAChC,cAAc,EAAE,0BAA0B;QAC1C,KAAK,EAAE,cAAc;QACrB,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,IAAI;QACjB,wBAAwB,EAAE;YACxB,KAAK,EAAE,oBAAY,CAAC,QAAQ;YAC5B,SAAS,EAAE,4BAAoB,CAAC,MAAM;SACvC;KACF;IACD,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACjB,GAAG,EAAE,OAAO,CAAC,OAAO;QACpB,gBAAgB,EAAE,OAAO,CAAC,OAAO;QACjC,cAAc,EAAE,KAAK;QACrB,KAAK,EAAE,sBAAsB;QAC7B,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,EAAE;QAChB,wBAAwB,EAAE;YACxB,KAAK,EAAE,oBAAY,CAAC,QAAQ;SAC7B;KACF;CACF,CAAA;AAEY,QAAA,kBAAkB,GAC7B,MAAM,CAAC,MAAM,CAAC,yBAAiB,CAAC,CAAA;AAErB,QAAA,oBAAoB,GAAG;IAClC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,mBAAmB;CACvC,CAAA;AAED,kBAAe,0BAAkB,CAAA"}
@@ -8,9 +8,13 @@ const module_helper_1 = require("../module-helper");
8
8
  const utils_1 = require("./utils");
9
9
  exports.moduleHelper = new module_helper_1.ModulesHelper();
10
10
  async function loadModule(container, resolution, logger) {
11
- const registrationName = resolution.definition.registrationName;
11
+ const modDefinition = resolution.definition;
12
+ const registrationName = modDefinition.registrationName;
12
13
  const { scope, resources } = resolution.moduleDeclaration ?? {};
13
- if (scope === types_1.MODULE_SCOPE.EXTERNAL) {
14
+ const canSkip = !resolution.resolutionPath &&
15
+ !modDefinition.isRequired &&
16
+ !modDefinition.defaultPackage;
17
+ if (scope === types_1.MODULE_SCOPE.EXTERNAL && !canSkip) {
14
18
  // TODO: implement external Resolvers
15
19
  // return loadExternalModule(...)
16
20
  throw new Error("External Modules are not supported yet.");
@@ -27,7 +31,7 @@ async function loadModule(container, resolution, logger) {
27
31
  error: new Error(message),
28
32
  };
29
33
  }
30
- if (!resolution.resolutionPath) {
34
+ if (resolution.resolutionPath === false) {
31
35
  container.register({
32
36
  [registrationName]: (0, awilix_1.asValue)(undefined),
33
37
  });
@@ -1 +1 @@
1
- {"version":3,"file":"module-loader.js","sourceRoot":"","sources":["../../src/loaders/module-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module-loader.js","sourceRoot":"","sources":["../../src/loaders/module-loader.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { ExternalModuleDeclaration, InternalModuleDeclaration, ModuleResolution } from "@medusajs/types";
1
+ import { ExternalModuleDeclaration, InternalModuleDeclaration, ModuleExports, ModuleResolution } from "@medusajs/types";
2
2
  export declare const registerModules: (modules?: Record<string, false | string | Partial<InternalModuleDeclaration | ExternalModuleDeclaration>>) => Record<string, ModuleResolution>;
3
- export declare const registerMedusaModule: (moduleKey: string, moduleDeclaration: InternalModuleDeclaration | ExternalModuleDeclaration) => Record<string, ModuleResolution>;
3
+ export declare const registerMedusaModule: (moduleKey: string, moduleDeclaration: InternalModuleDeclaration | ExternalModuleDeclaration, moduleExports?: ModuleExports) => Record<string, ModuleResolution>;
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.registerMedusaModule = exports.registerModules = void 0;
7
7
  const types_1 = require("@medusajs/types");
8
+ const utils_1 = require("@medusajs/utils");
8
9
  const resolve_cwd_1 = __importDefault(require("resolve-cwd"));
9
10
  const definitions_1 = __importDefault(require("../definitions"));
10
11
  const registerModules = (modules) => {
@@ -12,17 +13,20 @@ const registerModules = (modules) => {
12
13
  const projectModules = modules ?? {};
13
14
  for (const definition of definitions_1.default) {
14
15
  const customConfig = projectModules[definition.key];
15
- const isObj = typeof customConfig === "object";
16
+ const canSkip = !customConfig && !definition.isRequired && !definition.defaultPackage;
17
+ const isObj = (0, utils_1.isObject)(customConfig);
16
18
  if (isObj && customConfig.scope === types_1.MODULE_SCOPE.EXTERNAL) {
17
19
  // TODO: getExternalModuleResolution(...)
18
- throw new Error("External Modules are not supported yet.");
20
+ if (!canSkip) {
21
+ throw new Error("External Modules are not supported yet.");
22
+ }
19
23
  }
20
24
  moduleResolutions[definition.key] = getInternalModuleResolution(definition, customConfig);
21
25
  }
22
26
  return moduleResolutions;
23
27
  };
24
28
  exports.registerModules = registerModules;
25
- const registerMedusaModule = (moduleKey, moduleDeclaration) => {
29
+ const registerMedusaModule = (moduleKey, moduleDeclaration, moduleExports) => {
26
30
  const moduleResolutions = {};
27
31
  for (const definition of definitions_1.default) {
28
32
  if (definition.key !== moduleKey) {
@@ -32,12 +36,12 @@ const registerMedusaModule = (moduleKey, moduleDeclaration) => {
32
36
  // TODO: getExternalModuleResolution(...)
33
37
  throw new Error("External Modules are not supported yet.");
34
38
  }
35
- moduleResolutions[definition.key] = getInternalModuleResolution(definition, moduleDeclaration);
39
+ moduleResolutions[definition.key] = getInternalModuleResolution(definition, moduleDeclaration, moduleExports);
36
40
  }
37
41
  return moduleResolutions;
38
42
  };
39
43
  exports.registerMedusaModule = registerMedusaModule;
40
- function getInternalModuleResolution(definition, moduleConfig) {
44
+ function getInternalModuleResolution(definition, moduleConfig, moduleExports) {
41
45
  if (typeof moduleConfig === "boolean") {
42
46
  if (!moduleConfig && definition.isRequired) {
43
47
  throw new Error(`Module: ${definition.label} is required`);
@@ -56,7 +60,11 @@ function getInternalModuleResolution(definition, moduleConfig) {
56
60
  // If user added a module and it's overridable, we resolve that instead
57
61
  const isString = typeof moduleConfig === "string";
58
62
  if (definition.canOverride && (isString || (isObj && moduleConfig.resolve))) {
59
- resolutionPath = (0, resolve_cwd_1.default)(isString ? moduleConfig : moduleConfig.resolve);
63
+ resolutionPath = !moduleExports
64
+ ? (0, resolve_cwd_1.default)(isString ? moduleConfig : moduleConfig.resolve)
65
+ : // Explicitly assign an empty string, later, we will check if the value is exactly false.
66
+ // This allows to continue the module loading while using the module exports instead of re importing the module itself during the process.
67
+ "";
60
68
  }
61
69
  const moduleDeclaration = isObj ? moduleConfig : {};
62
70
  const additionalDependencies = isObj ? moduleConfig.dependencies || [] : [];
@@ -70,6 +78,7 @@ function getInternalModuleResolution(definition, moduleConfig) {
70
78
  ...definition.defaultModuleDeclaration,
71
79
  ...moduleDeclaration,
72
80
  },
81
+ moduleExports,
73
82
  options: isObj ? moduleConfig.options ?? {} : {},
74
83
  };
75
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"register-modules.js","sourceRoot":"","sources":["../../src/loaders/register-modules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register-modules.js","sourceRoot":"","sources":["../../src/loaders/register-modules.ts"],"names":[],"mappings":"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"}
@@ -27,13 +27,18 @@ exports.loadModuleMigrations = exports.loadInternalModule = void 0;
27
27
  const types_1 = require("@medusajs/types");
28
28
  const utils_1 = require("@medusajs/utils");
29
29
  const awilix_1 = require("awilix");
30
- const medusa_telemetry_1 = require("medusa-telemetry");
31
30
  async function loadInternalModule(container, resolution, logger) {
32
31
  const registrationName = resolution.definition.registrationName;
33
32
  const { scope, resources } = resolution.moduleDeclaration;
34
33
  let loadedModule;
35
34
  try {
36
- loadedModule = (await Promise.resolve().then(() => __importStar(require(resolution.resolutionPath)))).default;
35
+ // When loading manually, we pass the exports to be loaded, meaning that we do not need to import the package to find
36
+ // the exports. This is useful when a package export an initialize function which will bootstrap itself and therefore
37
+ // does not need to import the package that is currently being loaded as it would create a
38
+ // circular reference.
39
+ loadedModule =
40
+ resolution.moduleExports ??
41
+ (await Promise.resolve().then(() => __importStar(require(resolution.resolutionPath)))).default;
37
42
  }
38
43
  catch (error) {
39
44
  if (resolution.definition.isRequired &&
@@ -98,10 +103,6 @@ async function loadInternalModule(container, resolution, logger) {
98
103
  return new moduleService(localContainer.cradle, resolution.options, resolution.moduleDeclaration);
99
104
  }).singleton(),
100
105
  });
101
- (0, medusa_telemetry_1.trackInstallation)({
102
- module: resolution.definition.key,
103
- resolution: resolution.resolutionPath,
104
- }, "module");
105
106
  }
106
107
  exports.loadInternalModule = loadInternalModule;
107
108
  async function loadModuleMigrations(resolution) {
@@ -1 +1 @@
1
- {"version":3,"file":"load-internal.js","sourceRoot":"","sources":["../../../src/loaders/utils/load-internal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"load-internal.js","sourceRoot":"","sources":["../../../src/loaders/utils/load-internal.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
- import { ExternalModuleDeclaration, InternalModuleDeclaration } from "@medusajs/types";
1
+ import { ExternalModuleDeclaration, InternalModuleDeclaration, ModuleExports } from "@medusajs/types";
2
2
  export declare class MedusaModule {
3
3
  private static instances_;
4
- static bootstrap(moduleKey: string, defaultPath: string, declaration?: InternalModuleDeclaration | ExternalModuleDeclaration, injectedDependencies?: Record<string, any>): Promise<{
4
+ static clearInstances(): void;
5
+ static bootstrap(moduleKey: string, defaultPath: string, declaration?: InternalModuleDeclaration | ExternalModuleDeclaration, moduleExports?: ModuleExports, injectedDependencies?: Record<string, any>): Promise<{
5
6
  [key: string]: any;
6
7
  }>;
7
8
  static migrateUp(moduleKey: string, modulePath: string, options?: Record<string, any>): Promise<void>;
@@ -13,9 +13,13 @@ const logger = {
13
13
  error: (a) => console.error(a),
14
14
  };
15
15
  class MedusaModule {
16
- static async bootstrap(moduleKey, defaultPath, declaration, injectedDependencies) {
17
- if (MedusaModule.instances_.has(moduleKey)) {
18
- return MedusaModule.instances_.get(moduleKey);
16
+ static clearInstances() {
17
+ MedusaModule.instances_.clear();
18
+ }
19
+ static async bootstrap(moduleKey, defaultPath, declaration, moduleExports, injectedDependencies) {
20
+ const hashKey = (0, utils_1.simpleHash)((0, utils_1.stringifyCircular)({ moduleKey, defaultPath, declaration }));
21
+ if (MedusaModule.instances_.has(hashKey)) {
22
+ return MedusaModule.instances_.get(hashKey);
19
23
  }
20
24
  let modDeclaration = declaration;
21
25
  if (declaration?.scope !== types_1.MODULE_SCOPE.EXTERNAL) {
@@ -32,15 +36,19 @@ class MedusaModule {
32
36
  container.register(service, (0, awilix_1.asValue)(injectedDependencies[service]));
33
37
  }
34
38
  }
35
- const moduleResolutions = (0, loaders_1.registerMedusaModule)(moduleKey, modDeclaration);
36
- await (0, loaders_1.moduleLoader)({ container, moduleResolutions, logger });
39
+ const moduleResolutions = (0, loaders_1.registerMedusaModule)(moduleKey, modDeclaration, moduleExports);
40
+ await (0, loaders_1.moduleLoader)({
41
+ container,
42
+ moduleResolutions,
43
+ logger,
44
+ });
37
45
  const services = {};
38
46
  for (const resolution of Object.values(moduleResolutions)) {
39
47
  const keyName = resolution.definition.key;
40
48
  const registrationName = resolution.definition.registrationName;
41
49
  services[keyName] = container.resolve(registrationName);
42
50
  }
43
- MedusaModule.instances_.set(moduleKey, services);
51
+ MedusaModule.instances_.set(hashKey, services);
44
52
  return services;
45
53
  }
46
54
  static async migrateUp(moduleKey, modulePath, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"medusa-module.js","sourceRoot":"","sources":["../src/medusa-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"medusa-module.js","sourceRoot":"","sources":["../src/medusa-module.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@medusajs/modules-sdk",
3
- "version": "1.8.7",
3
+ "version": "1.8.8-beta-20230618193938",
4
4
  "description": "SDK for medusa modules",
5
5
  "main": "dist/index.js",
6
6
  "repository": {
@@ -23,16 +23,15 @@
23
23
  "typescript": "^4.4.4"
24
24
  },
25
25
  "dependencies": {
26
- "@medusajs/types": "1.8.7",
27
- "@medusajs/utils": "1.9.0",
26
+ "@medusajs/types": "1.8.8-beta-20230618193938",
27
+ "@medusajs/utils": "1.9.1-beta-20230618193938",
28
28
  "awilix": "^8.0.0",
29
- "glob": "7.1.6",
30
- "medusa-telemetry": "^0.0.16",
31
29
  "resolve-cwd": "^3.0.0"
32
30
  },
33
31
  "scripts": {
34
32
  "prepare": "cross-env NODE_ENV=production yarn run build",
35
33
  "build": "tsc --build",
36
- "test": "jest"
34
+ "test": "jest",
35
+ "watch": "tsc --build --watch"
37
36
  }
38
37
  }