@acmekit/modules-sdk 2.13.38 → 2.13.40
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/loaders/create-providers-loader.d.ts +113 -0
- package/dist/loaders/create-providers-loader.d.ts.map +1 -0
- package/dist/loaders/create-providers-loader.js +149 -0
- package/dist/loaders/create-providers-loader.js.map +1 -0
- package/dist/loaders/index.d.ts +1 -0
- package/dist/loaders/index.d.ts.map +1 -1
- package/dist/loaders/index.js +1 -0
- package/dist/loaders/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { AcmeKitContainer, Constructor, LoaderOptions, ModuleProvider, ModulesSdkTypes } from "@acmekit/types";
|
|
2
|
+
import { Lifetime } from "@acmekit/deps/awilix";
|
|
3
|
+
/**
|
|
4
|
+
* Configuration for a default (built-in) provider that ships with the module.
|
|
5
|
+
*/
|
|
6
|
+
export type DefaultProviderConfig = {
|
|
7
|
+
/** The provider service class. Must have a static `identifier` property. */
|
|
8
|
+
service: Constructor<any> & {
|
|
9
|
+
identifier: string;
|
|
10
|
+
LIFE_TIME?: (typeof Lifetime)[keyof typeof Lifetime];
|
|
11
|
+
validateOptions?(options: Record<string, unknown>): void | never;
|
|
12
|
+
};
|
|
13
|
+
/** The registration ID for this default provider */
|
|
14
|
+
id: string;
|
|
15
|
+
/** Optional options to pass to the provider constructor. Can be a static object or a function deriving options from the module config. */
|
|
16
|
+
options?: Record<string, unknown> | ((moduleOptions: Record<string, unknown>) => Record<string, unknown>);
|
|
17
|
+
/** When provided, skip registration if this returns false */
|
|
18
|
+
condition?: (moduleOptions: Record<string, unknown>) => boolean;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Configuration object for creating a providers loader via
|
|
22
|
+
* {@link createProvidersLoader}.
|
|
23
|
+
*/
|
|
24
|
+
export type ProvidersConfig = {
|
|
25
|
+
/**
|
|
26
|
+
* Container key prefix for provider registrations.
|
|
27
|
+
* E.g., "lp_" for locking/caching, "au_" for auth, "np_" for notification.
|
|
28
|
+
*/
|
|
29
|
+
prefix: string;
|
|
30
|
+
/**
|
|
31
|
+
* The registerAdd key for tracking all provider identifiers.
|
|
32
|
+
* E.g., "caching_providers_identifier".
|
|
33
|
+
*/
|
|
34
|
+
identifiersKey: string;
|
|
35
|
+
/**
|
|
36
|
+
* Key format for the container registration.
|
|
37
|
+
*
|
|
38
|
+
* - `"prefixId"` (default): registers as `{prefix}{id}`
|
|
39
|
+
* Used by auth, notification, caching, locking.
|
|
40
|
+
* - `"prefixIdentifierId"`: registers as `{prefix}{identifier}_{id}`
|
|
41
|
+
* Used by file, analytics.
|
|
42
|
+
*/
|
|
43
|
+
keyFormat?: "prefixId" | "prefixIdentifierId";
|
|
44
|
+
/**
|
|
45
|
+
* Built-in providers that ship with the module.
|
|
46
|
+
* These are registered before any user-configured providers.
|
|
47
|
+
*/
|
|
48
|
+
defaults?: DefaultProviderConfig[];
|
|
49
|
+
/**
|
|
50
|
+
* Container key for the "default provider" registration.
|
|
51
|
+
* When set, the loader will elect a default provider after registration:
|
|
52
|
+
* 1. First registered default becomes the initial fallback
|
|
53
|
+
* 2. A user provider with `is_default: true` overrides it
|
|
54
|
+
* 3. If exactly one user provider exists, it becomes the default
|
|
55
|
+
*/
|
|
56
|
+
defaultProviderKey?: string;
|
|
57
|
+
/**
|
|
58
|
+
* When true, throw if no default provider can be elected.
|
|
59
|
+
* When false (default), log an info message instead.
|
|
60
|
+
*/
|
|
61
|
+
requireDefault?: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Module name for error/log messages (e.g., "caching", "locking").
|
|
64
|
+
*/
|
|
65
|
+
moduleName?: string;
|
|
66
|
+
/**
|
|
67
|
+
* Optional hook called after all providers (defaults + user-configured)
|
|
68
|
+
* are registered. Useful for:
|
|
69
|
+
* - Syncing providers to the database (notification pattern)
|
|
70
|
+
* - Registering additional container entries (strategy, etc.)
|
|
71
|
+
* - Any other post-registration logic
|
|
72
|
+
*/
|
|
73
|
+
onRegistered?: (context: {
|
|
74
|
+
container: AcmeKitContainer;
|
|
75
|
+
providers: ModuleProvider[];
|
|
76
|
+
registeredDefaults: Array<{
|
|
77
|
+
id: string;
|
|
78
|
+
options: Record<string, unknown>;
|
|
79
|
+
}>;
|
|
80
|
+
}) => Promise<void>;
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* Creates a loader function that handles provider registration for a module.
|
|
84
|
+
*
|
|
85
|
+
* This factory replaces the ~50-100 line custom loader that each provider-
|
|
86
|
+
* accepting module currently implements by hand. It:
|
|
87
|
+
*
|
|
88
|
+
* 1. Seeds the registerAdd list with undefined (required for awilix arrays)
|
|
89
|
+
* 2. Registers any default (built-in) providers (respecting `condition`)
|
|
90
|
+
* 3. Calls moduleProviderLoader for user-configured providers
|
|
91
|
+
* 4. Elects a default provider if `defaultProviderKey` is set
|
|
92
|
+
* 5. Calls the onRegistered hook if provided
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* ```ts
|
|
96
|
+
* import { createProvidersLoader } from "@acmekit/framework/modules-sdk"
|
|
97
|
+
*
|
|
98
|
+
* export default Module(Modules.FILE, {
|
|
99
|
+
* service: FileModuleService,
|
|
100
|
+
* loaders: [
|
|
101
|
+
* createProvidersLoader({
|
|
102
|
+
* prefix: "fs_",
|
|
103
|
+
* identifiersKey: "file_providers_identifier",
|
|
104
|
+
* keyFormat: "prefixIdentifierId",
|
|
105
|
+
* }),
|
|
106
|
+
* ],
|
|
107
|
+
* })
|
|
108
|
+
* ```
|
|
109
|
+
*/
|
|
110
|
+
export declare function createProvidersLoader(config: ProvidersConfig): ({ container, options, }: LoaderOptions<(ModulesSdkTypes.ModuleServiceInitializeOptions | ModulesSdkTypes.ModuleServiceInitializeCustomDataLayerOptions) & {
|
|
111
|
+
providers?: ModuleProvider[];
|
|
112
|
+
}>) => Promise<void>;
|
|
113
|
+
//# sourceMappingURL=create-providers-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-providers-loader.d.ts","sourceRoot":"","sources":["../../src/loaders/create-providers-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,cAAc,EACd,eAAe,EAChB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAuB,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAGpE;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,4EAA4E;IAC5E,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG;QAC1B,UAAU,EAAE,MAAM,CAAA;QAClB,SAAS,CAAC,EAAE,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAA;QACpD,eAAe,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,KAAK,CAAA;KACjE,CAAA;IACD,oDAAoD;IACpD,EAAE,EAAE,MAAM,CAAA;IACV,0IAA0I;IAC1I,OAAO,CAAC,EACJ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IACzE,6DAA6D;IAC7D,SAAS,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAA;CAChE,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAA;IAEd;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAA;IAEtB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,UAAU,GAAG,oBAAoB,CAAA;IAE7C;;;OAGG;IACH,QAAQ,CAAC,EAAE,qBAAqB,EAAE,CAAA;IAElC;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAE3B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IAExB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE;QACvB,SAAS,EAAE,gBAAgB,CAAA;QAC3B,SAAS,EAAE,cAAc,EAAE,CAAA;QAC3B,kBAAkB,EAAE,KAAK,CAAC;YACxB,EAAE,EAAE,MAAM,CAAA;YACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SACjC,CAAC,CAAA;KACH,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACpB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,eAAe,IAgE7C,yBAGX,aAAa,CACd,CACI,eAAe,CAAC,8BAA8B,GAC9C,eAAe,CAAC,6CAA6C,CAChE,GAAG;IAAE,SAAS,CAAC,EAAE,cAAc,EAAE,CAAA;CAAE,CACrC,KAAG,OAAO,CAAC,IAAI,CAAC,CAyElB"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createProvidersLoader = createProvidersLoader;
|
|
4
|
+
const awilix_1 = require("@acmekit/deps/awilix");
|
|
5
|
+
const module_provider_loader_1 = require("./module-provider-loader");
|
|
6
|
+
/**
|
|
7
|
+
* Creates a loader function that handles provider registration for a module.
|
|
8
|
+
*
|
|
9
|
+
* This factory replaces the ~50-100 line custom loader that each provider-
|
|
10
|
+
* accepting module currently implements by hand. It:
|
|
11
|
+
*
|
|
12
|
+
* 1. Seeds the registerAdd list with undefined (required for awilix arrays)
|
|
13
|
+
* 2. Registers any default (built-in) providers (respecting `condition`)
|
|
14
|
+
* 3. Calls moduleProviderLoader for user-configured providers
|
|
15
|
+
* 4. Elects a default provider if `defaultProviderKey` is set
|
|
16
|
+
* 5. Calls the onRegistered hook if provided
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* import { createProvidersLoader } from "@acmekit/framework/modules-sdk"
|
|
21
|
+
*
|
|
22
|
+
* export default Module(Modules.FILE, {
|
|
23
|
+
* service: FileModuleService,
|
|
24
|
+
* loaders: [
|
|
25
|
+
* createProvidersLoader({
|
|
26
|
+
* prefix: "fs_",
|
|
27
|
+
* identifiersKey: "file_providers_identifier",
|
|
28
|
+
* keyFormat: "prefixIdentifierId",
|
|
29
|
+
* }),
|
|
30
|
+
* ],
|
|
31
|
+
* })
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
function createProvidersLoader(config) {
|
|
35
|
+
const { prefix, identifiersKey, defaults = [], keyFormat = "prefixId", defaultProviderKey, requireDefault = false, moduleName, onRegistered, } = config;
|
|
36
|
+
const buildKey = (identifier, id) => {
|
|
37
|
+
if (keyFormat === "prefixIdentifierId") {
|
|
38
|
+
return `${prefix}${identifier}_${id}`;
|
|
39
|
+
}
|
|
40
|
+
return `${prefix}${id}`;
|
|
41
|
+
};
|
|
42
|
+
const buildTrackingValue = (identifier, id) => {
|
|
43
|
+
if (keyFormat === "prefixIdentifierId") {
|
|
44
|
+
return `${identifier}_${id}`;
|
|
45
|
+
}
|
|
46
|
+
return id;
|
|
47
|
+
};
|
|
48
|
+
const registrationFn = async (klass, container, pluginOptions) => {
|
|
49
|
+
const identifier = klass.identifier;
|
|
50
|
+
if (!identifier) {
|
|
51
|
+
throw new Error(`Provider class does not have a static "identifier" property. ` +
|
|
52
|
+
`Cannot register provider without an identifier.`);
|
|
53
|
+
}
|
|
54
|
+
if (!pluginOptions.id) {
|
|
55
|
+
throw new Error(`No "id" provided for provider "${identifier}". ` +
|
|
56
|
+
`Each provider must have an "id" in its configuration.`);
|
|
57
|
+
}
|
|
58
|
+
const registrationKey = buildKey(identifier, pluginOptions.id);
|
|
59
|
+
container.register({
|
|
60
|
+
[registrationKey]: (0, awilix_1.asFunction)((cradle) => new klass(cradle, pluginOptions.options ?? {}), {
|
|
61
|
+
lifetime: klass.LIFE_TIME || awilix_1.Lifetime.SINGLETON,
|
|
62
|
+
}),
|
|
63
|
+
});
|
|
64
|
+
container.registerAdd(identifiersKey, (0, awilix_1.asValue)(buildTrackingValue(identifier, pluginOptions.id)));
|
|
65
|
+
};
|
|
66
|
+
return async ({ container, options, }) => {
|
|
67
|
+
const moduleOptions = (options ?? {});
|
|
68
|
+
// 1. Seed the registerAdd array (required for awilix array registrations)
|
|
69
|
+
container.registerAdd(identifiersKey, (0, awilix_1.asValue)(undefined));
|
|
70
|
+
// 2. Register default (built-in) providers, respecting condition
|
|
71
|
+
const registeredDefaults = [];
|
|
72
|
+
for (const defaultProvider of defaults) {
|
|
73
|
+
const { service: klass, id, options: providerOptions, condition } = defaultProvider;
|
|
74
|
+
if (condition && !condition(moduleOptions)) {
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
const resolvedOptions = typeof providerOptions === "function"
|
|
78
|
+
? providerOptions(moduleOptions)
|
|
79
|
+
: providerOptions ?? {};
|
|
80
|
+
const registrationKey = buildKey(klass.identifier, id);
|
|
81
|
+
container.register({
|
|
82
|
+
[registrationKey]: (0, awilix_1.asFunction)((cradle) => new klass(cradle, resolvedOptions), {
|
|
83
|
+
lifetime: klass.LIFE_TIME || awilix_1.Lifetime.SINGLETON,
|
|
84
|
+
}),
|
|
85
|
+
});
|
|
86
|
+
container.registerAdd(identifiersKey, (0, awilix_1.asValue)(buildTrackingValue(klass.identifier, id)));
|
|
87
|
+
registeredDefaults.push({ id, options: resolvedOptions });
|
|
88
|
+
}
|
|
89
|
+
// 3. Load user-configured providers
|
|
90
|
+
const userProviders = options?.providers || [];
|
|
91
|
+
await (0, module_provider_loader_1.moduleProviderLoader)({
|
|
92
|
+
container,
|
|
93
|
+
providers: userProviders,
|
|
94
|
+
registerServiceFn: registrationFn,
|
|
95
|
+
});
|
|
96
|
+
// 4. Elect default provider
|
|
97
|
+
if (defaultProviderKey) {
|
|
98
|
+
electDefaultProvider({
|
|
99
|
+
container: container,
|
|
100
|
+
userProviders,
|
|
101
|
+
registeredDefaults,
|
|
102
|
+
defaultProviderKey,
|
|
103
|
+
requireDefault,
|
|
104
|
+
moduleName,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
// 5. Call onRegistered hook
|
|
108
|
+
if (onRegistered) {
|
|
109
|
+
await onRegistered({
|
|
110
|
+
container: container,
|
|
111
|
+
providers: userProviders,
|
|
112
|
+
registeredDefaults,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
function electDefaultProvider({ container, userProviders, registeredDefaults, defaultProviderKey, requireDefault, moduleName, }) {
|
|
118
|
+
const label = moduleName ? `[${moduleName}-module]` : "[module]";
|
|
119
|
+
// Start with first registered default as fallback
|
|
120
|
+
let defaultId = registeredDefaults[0]?.id;
|
|
121
|
+
// Check user providers for explicit default or single provider
|
|
122
|
+
const isSingleProvider = userProviders.length === 1;
|
|
123
|
+
let hasExplicitDefault = false;
|
|
124
|
+
for (const provider of userProviders) {
|
|
125
|
+
if (provider.is_default) {
|
|
126
|
+
defaultId = provider.id;
|
|
127
|
+
hasExplicitDefault = true;
|
|
128
|
+
}
|
|
129
|
+
else if (isSingleProvider) {
|
|
130
|
+
defaultId = provider.id;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
if (defaultId) {
|
|
134
|
+
container.register(defaultProviderKey, (0, awilix_1.asValue)(defaultId));
|
|
135
|
+
if (!hasExplicitDefault) {
|
|
136
|
+
try {
|
|
137
|
+
const logger = container.resolve("logger");
|
|
138
|
+
logger.info(`${label}: No default provider defined. Using "${defaultId}" as default.`);
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
// Logger not available
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
else if (requireDefault) {
|
|
146
|
+
throw new Error(`${label}: No providers have been configured and no built-in default is available.`);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=create-providers-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-providers-loader.js","sourceRoot":"","sources":["../../src/loaders/create-providers-loader.ts"],"names":[],"mappings":"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"}
|
package/dist/loaders/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/loaders/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,oBAAoB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/loaders/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,oBAAoB,CAAA;AAClC,cAAc,2BAA2B,CAAA"}
|
package/dist/loaders/index.js
CHANGED
|
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./module-loader"), exports);
|
|
18
18
|
__exportStar(require("./module-provider-loader"), exports);
|
|
19
19
|
__exportStar(require("./register-modules"), exports);
|
|
20
|
+
__exportStar(require("./create-providers-loader"), exports);
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/loaders/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA+B;AAC/B,2DAAwC;AACxC,qDAAkC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/loaders/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA+B;AAC/B,2DAAwC;AACxC,qDAAkC;AAClC,4DAAyC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/acmekit-app.ts","../src/acmekit-module.ts","../src/definitions.ts","../src/index.ts","../src/link.ts","../src/__mocks__/inventory-module.ts","../src/__mocks__/inventory-stock-location-link.ts","../src/__mocks__/product-inventory-link.ts","../src/__mocks__/product-module.ts","../src/__mocks__/stock-location-module.ts","../src/__tests__/remote-link.spec.ts","../src/__tests__/remote-query.spec.ts","../src/loaders/index.ts","../src/loaders/module-loader.ts","../src/loaders/module-provider-loader.ts","../src/loaders/register-modules.ts","../src/loaders/__fixtures__/test-service/index.ts","../src/loaders/__fixtures__/test-service-resolved/index.ts","../src/loaders/__mocks__/acmekit-telemetry.ts","../src/loaders/__mocks__/@modules/brokenloader.ts","../src/loaders/__mocks__/@modules/default.ts","../src/loaders/__mocks__/@modules/no-service.ts","../src/loaders/__mocks__/@providers/default-with-fail-validation.ts","../src/loaders/__mocks__/@providers/default.ts","../src/loaders/__mocks__/@providers/no-default.ts","../src/loaders/__mocks__/@providers/no-service.ts","../src/loaders/__tests__/acmekit-module.ts","../src/loaders/__tests__/module-loader.ts","../src/loaders/__tests__/module-provider-loader.ts","../src/loaders/__tests__/register-modules.ts","../src/loaders/utils/index.ts","../src/loaders/utils/load-internal.ts","../src/loaders/utils/__fixtures__/index.ts","../src/loaders/utils/__fixtures__/module-with-dml-mixed-without-joiner-config/index.ts","../src/loaders/utils/__fixtures__/module-with-dml-mixed-without-joiner-config/models/dml-entity.ts","../src/loaders/utils/__fixtures__/module-with-dml-mixed-without-joiner-config/models/entity.ts","../src/loaders/utils/__fixtures__/module-with-dml-mixed-without-joiner-config/models/index.ts","../src/loaders/utils/__fixtures__/module-with-dml-mixed-without-joiner-config/services/module-service.ts","../src/loaders/utils/__fixtures__/module-with-dml-without-joiner-config/index.ts","../src/loaders/utils/__fixtures__/module-with-dml-without-joiner-config/models/dml-entity-model.ts","../src/loaders/utils/__fixtures__/module-with-dml-without-joiner-config/models/dml-entity.ts","../src/loaders/utils/__fixtures__/module-with-dml-without-joiner-config/models/index.ts","../src/loaders/utils/__fixtures__/module-with-dml-without-joiner-config/services/module-service.ts","../src/loaders/utils/__fixtures__/module-with-joiner-config/index.ts","../src/loaders/utils/__fixtures__/module-with-joiner-config/models/entity-2.ts","../src/loaders/utils/__fixtures__/module-with-joiner-config/models/entity.ts","../src/loaders/utils/__fixtures__/module-with-joiner-config/models/index.ts","../src/loaders/utils/__fixtures__/module-with-joiner-config/services/module-service.ts","../src/loaders/utils/__fixtures__/module-with-providers/index.ts","../src/loaders/utils/__fixtures__/module-with-providers/provider-1/index.ts","../src/loaders/utils/__fixtures__/module-with-providers/provider-1/services/provider-service.ts","../src/loaders/utils/__fixtures__/module-with-providers/provider-2/index.ts","../src/loaders/utils/__fixtures__/module-with-providers/provider-2/services/provider-service.ts","../src/loaders/utils/__fixtures__/module-with-providers/services/module-service.ts","../src/loaders/utils/__fixtures__/module-without-joiner-config/index.ts","../src/loaders/utils/__fixtures__/module-without-joiner-config/models/entity-2.ts","../src/loaders/utils/__fixtures__/module-without-joiner-config/models/entity.ts","../src/loaders/utils/__fixtures__/module-without-joiner-config/models/index.ts","../src/loaders/utils/__fixtures__/module-without-joiner-config/services/module-service.ts","../src/loaders/utils/__tests__/load-internal.spec.ts","../src/remote-query/index.ts","../src/remote-query/parse-filters.ts","../src/remote-query/query.ts","../src/remote-query/remote-query.ts","../src/remote-query/to-remote-query.ts","../src/remote-query/__fixtures__/get-entities-map.ts","../src/remote-query/__fixtures__/parse-filters.ts","../src/remote-query/__fixtures__/remote-query-type.ts","../src/remote-query/__tests__/parse-filters.spec.ts","../src/remote-query/__tests__/query-locale.spec.ts","../src/remote-query/__tests__/to-remote-query.ts","../src/types/index.ts","../src/utils/convert-data-to-link-definition.ts","../src/utils/index.ts","../src/utils/linking-error.ts"],"version":"5.9.3"}
|
|
1
|
+
{"root":["../src/acmekit-app.ts","../src/acmekit-module.ts","../src/definitions.ts","../src/index.ts","../src/link.ts","../src/__mocks__/inventory-module.ts","../src/__mocks__/inventory-stock-location-link.ts","../src/__mocks__/product-inventory-link.ts","../src/__mocks__/product-module.ts","../src/__mocks__/stock-location-module.ts","../src/__tests__/remote-link.spec.ts","../src/__tests__/remote-query.spec.ts","../src/loaders/create-providers-loader.ts","../src/loaders/index.ts","../src/loaders/module-loader.ts","../src/loaders/module-provider-loader.ts","../src/loaders/register-modules.ts","../src/loaders/__fixtures__/test-service/index.ts","../src/loaders/__fixtures__/test-service-resolved/index.ts","../src/loaders/__mocks__/acmekit-telemetry.ts","../src/loaders/__mocks__/@modules/brokenloader.ts","../src/loaders/__mocks__/@modules/default.ts","../src/loaders/__mocks__/@modules/no-service.ts","../src/loaders/__mocks__/@providers/default-with-fail-validation.ts","../src/loaders/__mocks__/@providers/default.ts","../src/loaders/__mocks__/@providers/no-default.ts","../src/loaders/__mocks__/@providers/no-service.ts","../src/loaders/__tests__/acmekit-module.ts","../src/loaders/__tests__/create-providers-loader.spec.ts","../src/loaders/__tests__/module-loader.ts","../src/loaders/__tests__/module-provider-loader.ts","../src/loaders/__tests__/register-modules.ts","../src/loaders/utils/index.ts","../src/loaders/utils/load-internal.ts","../src/loaders/utils/__fixtures__/index.ts","../src/loaders/utils/__fixtures__/module-with-dml-mixed-without-joiner-config/index.ts","../src/loaders/utils/__fixtures__/module-with-dml-mixed-without-joiner-config/models/dml-entity.ts","../src/loaders/utils/__fixtures__/module-with-dml-mixed-without-joiner-config/models/entity.ts","../src/loaders/utils/__fixtures__/module-with-dml-mixed-without-joiner-config/models/index.ts","../src/loaders/utils/__fixtures__/module-with-dml-mixed-without-joiner-config/services/module-service.ts","../src/loaders/utils/__fixtures__/module-with-dml-without-joiner-config/index.ts","../src/loaders/utils/__fixtures__/module-with-dml-without-joiner-config/models/dml-entity-model.ts","../src/loaders/utils/__fixtures__/module-with-dml-without-joiner-config/models/dml-entity.ts","../src/loaders/utils/__fixtures__/module-with-dml-without-joiner-config/models/index.ts","../src/loaders/utils/__fixtures__/module-with-dml-without-joiner-config/services/module-service.ts","../src/loaders/utils/__fixtures__/module-with-joiner-config/index.ts","../src/loaders/utils/__fixtures__/module-with-joiner-config/models/entity-2.ts","../src/loaders/utils/__fixtures__/module-with-joiner-config/models/entity.ts","../src/loaders/utils/__fixtures__/module-with-joiner-config/models/index.ts","../src/loaders/utils/__fixtures__/module-with-joiner-config/services/module-service.ts","../src/loaders/utils/__fixtures__/module-with-providers/index.ts","../src/loaders/utils/__fixtures__/module-with-providers/provider-1/index.ts","../src/loaders/utils/__fixtures__/module-with-providers/provider-1/services/provider-service.ts","../src/loaders/utils/__fixtures__/module-with-providers/provider-2/index.ts","../src/loaders/utils/__fixtures__/module-with-providers/provider-2/services/provider-service.ts","../src/loaders/utils/__fixtures__/module-with-providers/services/module-service.ts","../src/loaders/utils/__fixtures__/module-without-joiner-config/index.ts","../src/loaders/utils/__fixtures__/module-without-joiner-config/models/entity-2.ts","../src/loaders/utils/__fixtures__/module-without-joiner-config/models/entity.ts","../src/loaders/utils/__fixtures__/module-without-joiner-config/models/index.ts","../src/loaders/utils/__fixtures__/module-without-joiner-config/services/module-service.ts","../src/loaders/utils/__tests__/load-internal.spec.ts","../src/remote-query/index.ts","../src/remote-query/parse-filters.ts","../src/remote-query/query.ts","../src/remote-query/remote-query.ts","../src/remote-query/to-remote-query.ts","../src/remote-query/__fixtures__/get-entities-map.ts","../src/remote-query/__fixtures__/parse-filters.ts","../src/remote-query/__fixtures__/remote-query-type.ts","../src/remote-query/__tests__/parse-filters.spec.ts","../src/remote-query/__tests__/query-locale.spec.ts","../src/remote-query/__tests__/to-remote-query.ts","../src/types/index.ts","../src/utils/convert-data-to-link-definition.ts","../src/utils/index.ts","../src/utils/linking-error.ts"],"version":"5.9.3"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@acmekit/modules-sdk",
|
|
3
|
-
"version": "2.13.
|
|
3
|
+
"version": "2.13.40",
|
|
4
4
|
"description": "SDK for acmekit modules",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"export": {
|
|
@@ -31,11 +31,11 @@
|
|
|
31
31
|
"watch": "yarn run -T tsc --build --watch"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@acmekit/types": "2.13.
|
|
34
|
+
"@acmekit/types": "2.13.40"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@acmekit/deps": "2.13.
|
|
38
|
-
"@acmekit/orchestration": "2.13.
|
|
39
|
-
"@acmekit/utils": "2.13.
|
|
37
|
+
"@acmekit/deps": "2.13.40",
|
|
38
|
+
"@acmekit/orchestration": "2.13.40",
|
|
39
|
+
"@acmekit/utils": "2.13.40"
|
|
40
40
|
}
|
|
41
41
|
}
|