@medusajs/modules-sdk 1.8.7 → 1.8.8-beta-20230619165231
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/definitions.d.ts +5 -1
- package/dist/definitions.js +17 -1
- package/dist/definitions.js.map +1 -1
- package/dist/loaders/module-loader.js +7 -3
- package/dist/loaders/module-loader.js.map +1 -1
- package/dist/loaders/register-modules.d.ts +2 -2
- package/dist/loaders/register-modules.js +15 -6
- package/dist/loaders/register-modules.js.map +1 -1
- package/dist/loaders/utils/load-internal.js +7 -6
- package/dist/loaders/utils/load-internal.js.map +1 -1
- package/dist/medusa-module.d.ts +3 -2
- package/dist/medusa-module.js +14 -6
- package/dist/medusa-module.js.map +1 -1
- package/package.json +5 -6
package/dist/definitions.d.ts
CHANGED
|
@@ -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;
|
package/dist/definitions.js
CHANGED
|
@@ -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
|
package/dist/definitions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":";;;AAAA,2CAIwB;AAExB,IAAY,
|
|
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
|
|
11
|
+
const modDefinition = resolution.definition;
|
|
12
|
+
const registrationName = modDefinition.registrationName;
|
|
12
13
|
const { scope, resources } = resolution.moduleDeclaration ?? {};
|
|
13
|
-
|
|
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 (
|
|
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":";;;AAAA,2CAKwB;AACxB,mCAAgC;AAChC,2BAAwB;AACxB,oDAAgD;AAChD,mCAA4C;AAE/B,QAAA,YAAY,GAAG,IAAI,6BAAa,EAAE,CAAA;AAE/C,KAAK,UAAU,UAAU,CACvB,SAA0B,EAC1B,UAA4B,EAC5B,MAAc;IAEd,MAAM,
|
|
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
|
|
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
|
-
|
|
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 =
|
|
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":";;;;;;AAAA,
|
|
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
|
-
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CASwB;AACxB,2CAAuD;AACvD,mCAA4C;
|
|
1
|
+
{"version":3,"file":"load-internal.js","sourceRoot":"","sources":["../../../src/loaders/utils/load-internal.ts"],"names":[],"mappings":"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"}
|
package/dist/medusa-module.d.ts
CHANGED
|
@@ -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
|
|
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>;
|
package/dist/medusa-module.js
CHANGED
|
@@ -13,9 +13,13 @@ const logger = {
|
|
|
13
13
|
error: (a) => console.error(a),
|
|
14
14
|
};
|
|
15
15
|
class MedusaModule {
|
|
16
|
-
static
|
|
17
|
-
|
|
18
|
-
|
|
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)({
|
|
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(
|
|
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":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"medusa-module.js","sourceRoot":"","sources":["../src/medusa-module.ts"],"names":[],"mappings":";;;AAAA,2CAMwB;AACxB,2CAIwB;AACxB,mCAAgC;AAChC,uCAA8D;AAC9D,2CAAsD;AAEtD,MAAM,MAAM,GAAQ;IAClB,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5B,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;CAC/B,CAAA;AAED,MAAa,YAAY;IAEhB,MAAM,CAAC,cAAc;QAC1B,YAAY,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA;IACjC,CAAC;IACM,MAAM,CAAC,KAAK,CAAC,SAAS,CAC3B,SAAiB,EACjB,WAAmB,EACnB,WAAmE,EACnE,aAA6B,EAC7B,oBAA0C;QAI1C,MAAM,OAAO,GAAG,IAAA,kBAAU,EACxB,IAAA,yBAAiB,EAAC,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAC3D,CAAA;QAED,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACxC,OAAO,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;SAC5C;QAED,IAAI,cAAc,GAAG,WAAW,CAAA;QAChC,IAAI,WAAW,EAAE,KAAK,KAAK,oBAAY,CAAC,QAAQ,EAAE;YAChD,cAAc,GAAG;gBACf,KAAK,EAAE,oBAAY,CAAC,QAAQ;gBAC5B,SAAS,EAAE,4BAAoB,CAAC,QAAQ;gBACxC,OAAO,EAAE,WAAW;gBACpB,OAAO,EAAE,WAAW;aACrB,CAAA;SACF;QAED,MAAM,SAAS,GAAG,IAAA,6BAAqB,GAAE,CAAA;QAEzC,IAAI,oBAAoB,EAAE;YACxB,KAAK,MAAM,OAAO,IAAI,oBAAoB,EAAE;gBAC1C,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAA,gBAAO,EAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;aACpE;SACF;QAED,MAAM,iBAAiB,GAAG,IAAA,8BAAoB,EAC5C,SAAS,EACT,cAAe,EACf,aAAa,CACd,CAAA;QAED,MAAM,IAAA,sBAAY,EAAC;YACjB,SAAS;YACT,iBAAiB;YACjB,MAAM;SACP,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,EAAE,CAAA;QAEnB,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE;YACzD,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAA;YACzC,MAAM,gBAAgB,GAAG,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAA;YAE/D,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;SACxD;QAED,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAE9C,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,SAAS,CAC3B,SAAiB,EACjB,UAAkB,EAClB,OAA6B;QAE7B,MAAM,iBAAiB,GAAG,IAAA,8BAAoB,EAAC,SAAS,EAAE;YACxD,KAAK,EAAE,oBAAY,CAAC,QAAQ;YAC5B,SAAS,EAAE,4BAAoB,CAAC,QAAQ;YACxC,OAAO,EAAE,UAAU;YACnB,OAAO;SACR,CAAC,CAAA;QAEF,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE;YACnC,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,IAAA,4BAAoB,EAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAA;YAEtE,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE;gBACnC,MAAM,SAAS,CAAC;oBACd,OAAO;oBACP,MAAM;iBACP,CAAC,CAAA;aACH;SACF;IACH,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,WAAW,CAC7B,SAAiB,EACjB,UAAkB,EAClB,OAA6B;QAE7B,MAAM,iBAAiB,GAAG,IAAA,8BAAoB,EAAC,SAAS,EAAE;YACxD,KAAK,EAAE,oBAAY,CAAC,QAAQ;YAC5B,SAAS,EAAE,4BAAoB,CAAC,QAAQ;YACxC,OAAO,EAAE,UAAU;YACnB,OAAO;SACR,CAAC,CAAA;QAEF,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE;YACnC,MAAM,CAAC,EAAE,WAAW,CAAC,GAAG,MAAM,IAAA,4BAAoB,EAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAA;YAE1E,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;gBACrC,MAAM,WAAW,CAAC;oBAChB,OAAO;oBACP,MAAM;iBACP,CAAC,CAAA;aACH;SACF;IACH,CAAC;;AAhHH,oCAiHC;AAhHgB,uBAAU,GAAqB,IAAI,GAAG,EAAE,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@medusajs/modules-sdk",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.8-beta-20230619165231",
|
|
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.
|
|
27
|
-
"@medusajs/utils": "1.9.
|
|
26
|
+
"@medusajs/types": "1.8.8-beta-20230619165231",
|
|
27
|
+
"@medusajs/utils": "1.9.1-beta-20230619165231",
|
|
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
|
}
|