@medusajs/medusa 2.12.2-snapshot-20251203150309 → 2.12.2-snapshot-20251204020106
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/commands/develop.d.ts.map +1 -1
- package/dist/commands/develop.js +20 -82
- package/dist/commands/develop.js.map +1 -1
- package/dist/commands/start.d.ts +1 -5
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +3 -34
- package/dist/commands/start.js.map +1 -1
- package/dist/loaders/api.d.ts.map +1 -1
- package/dist/loaders/api.js +0 -6
- package/dist/loaders/api.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +54 -54
- package/dist/commands/utils/dev-server/errors.d.ts +0 -5
- package/dist/commands/utils/dev-server/errors.d.ts.map +0 -1
- package/dist/commands/utils/dev-server/errors.js +0 -14
- package/dist/commands/utils/dev-server/errors.js.map +0 -1
- package/dist/commands/utils/dev-server/index.d.ts +0 -7
- package/dist/commands/utils/dev-server/index.d.ts.map +0 -1
- package/dist/commands/utils/dev-server/index.js +0 -66
- package/dist/commands/utils/dev-server/index.js.map +0 -1
- package/dist/commands/utils/dev-server/module-cache-manager.d.ts +0 -50
- package/dist/commands/utils/dev-server/module-cache-manager.d.ts.map +0 -1
- package/dist/commands/utils/dev-server/module-cache-manager.js +0 -135
- package/dist/commands/utils/dev-server/module-cache-manager.js.map +0 -1
- package/dist/commands/utils/dev-server/recovery-service.d.ts +0 -27
- package/dist/commands/utils/dev-server/recovery-service.d.ts.map +0 -1
- package/dist/commands/utils/dev-server/recovery-service.js +0 -73
- package/dist/commands/utils/dev-server/recovery-service.js.map +0 -1
- package/dist/commands/utils/dev-server/reloaders/base.d.ts +0 -20
- package/dist/commands/utils/dev-server/reloaders/base.d.ts.map +0 -1
- package/dist/commands/utils/dev-server/reloaders/base.js +0 -33
- package/dist/commands/utils/dev-server/reloaders/base.js.map +0 -1
- package/dist/commands/utils/dev-server/reloaders/jobs.d.ts +0 -29
- package/dist/commands/utils/dev-server/reloaders/jobs.d.ts.map +0 -1
- package/dist/commands/utils/dev-server/reloaders/jobs.js +0 -77
- package/dist/commands/utils/dev-server/reloaders/jobs.js.map +0 -1
- package/dist/commands/utils/dev-server/reloaders/modules.d.ts +0 -41
- package/dist/commands/utils/dev-server/reloaders/modules.d.ts.map +0 -1
- package/dist/commands/utils/dev-server/reloaders/modules.js +0 -190
- package/dist/commands/utils/dev-server/reloaders/modules.js.map +0 -1
- package/dist/commands/utils/dev-server/reloaders/routes.d.ts +0 -23
- package/dist/commands/utils/dev-server/reloaders/routes.d.ts.map +0 -1
- package/dist/commands/utils/dev-server/reloaders/routes.js +0 -60
- package/dist/commands/utils/dev-server/reloaders/routes.js.map +0 -1
- package/dist/commands/utils/dev-server/reloaders/subscribers.d.ts +0 -31
- package/dist/commands/utils/dev-server/reloaders/subscribers.d.ts.map +0 -1
- package/dist/commands/utils/dev-server/reloaders/subscribers.js +0 -111
- package/dist/commands/utils/dev-server/reloaders/subscribers.js.map +0 -1
- package/dist/commands/utils/dev-server/reloaders/workflows.d.ts +0 -40
- package/dist/commands/utils/dev-server/reloaders/workflows.d.ts.map +0 -1
- package/dist/commands/utils/dev-server/reloaders/workflows.js +0 -129
- package/dist/commands/utils/dev-server/reloaders/workflows.js.map +0 -1
- package/dist/commands/utils/dev-server/resource-registry.d.ts +0 -12
- package/dist/commands/utils/dev-server/resource-registry.d.ts.map +0 -1
- package/dist/commands/utils/dev-server/resource-registry.js +0 -20
- package/dist/commands/utils/dev-server/resource-registry.js.map +0 -1
- package/dist/commands/utils/dev-server/types.d.ts +0 -52
- package/dist/commands/utils/dev-server/types.d.ts.map +0 -1
- package/dist/commands/utils/dev-server/types.js +0 -17
- package/dist/commands/utils/dev-server/types.js.map +0 -1
- package/dist/feature-flags/backend-hmr.d.ts +0 -4
- package/dist/feature-flags/backend-hmr.d.ts.map +0 -1
- package/dist/feature-flags/backend-hmr.js +0 -12
- package/dist/feature-flags/backend-hmr.js.map +0 -1
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
-
};
|
|
8
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
-
};
|
|
13
|
-
var _ModuleReloader_logSource, _ModuleReloader_logger, _ModuleReloader_rootDirectory;
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.ModuleReloader = void 0;
|
|
16
|
-
const framework_1 = require("@medusajs/framework");
|
|
17
|
-
const utils_1 = require("@medusajs/framework/utils");
|
|
18
|
-
const path_1 = require("path");
|
|
19
|
-
const types_1 = require("../types");
|
|
20
|
-
const base_1 = require("./base");
|
|
21
|
-
const errors_1 = require("../errors");
|
|
22
|
-
/**
|
|
23
|
-
* Handles hot reloading of custom modules in the /modules directory
|
|
24
|
-
*/
|
|
25
|
-
class ModuleReloader extends base_1.BaseReloader {
|
|
26
|
-
constructor(cacheManager, rootDirectory, logSource, logger) {
|
|
27
|
-
super(cacheManager, logSource, logger);
|
|
28
|
-
_ModuleReloader_logSource.set(this, void 0);
|
|
29
|
-
_ModuleReloader_logger.set(this, void 0);
|
|
30
|
-
_ModuleReloader_rootDirectory.set(this, void 0);
|
|
31
|
-
__classPrivateFieldSet(this, _ModuleReloader_logSource, logSource, "f");
|
|
32
|
-
__classPrivateFieldSet(this, _ModuleReloader_logger, logger, "f");
|
|
33
|
-
__classPrivateFieldSet(this, _ModuleReloader_rootDirectory, rootDirectory, "f");
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Check if a file path is within a module directory
|
|
37
|
-
*/
|
|
38
|
-
isModulePath(filePath) {
|
|
39
|
-
return filePath.includes("modules/");
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Extract module name from file path
|
|
43
|
-
* e.g., "/path/to/project/modules/contact-us/service.ts" -> "contact-us"
|
|
44
|
-
*/
|
|
45
|
-
getModuleNameFromPath(filePath) {
|
|
46
|
-
const modulesPattern = "modules/";
|
|
47
|
-
const parts = filePath.split(modulesPattern);
|
|
48
|
-
if (parts.length < 2) {
|
|
49
|
-
return null;
|
|
50
|
-
}
|
|
51
|
-
const afterModules = parts[1];
|
|
52
|
-
const moduleName = afterModules.split("/")[0];
|
|
53
|
-
return moduleName || null;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Get the module directory path
|
|
57
|
-
*/
|
|
58
|
-
getModuleDirectory(moduleName) {
|
|
59
|
-
return (0, path_1.join)(__classPrivateFieldGet(this, _ModuleReloader_rootDirectory, "f"), "src", "modules", moduleName);
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Get module key and service name from config
|
|
63
|
-
*/
|
|
64
|
-
async getModuleInfo(moduleName) {
|
|
65
|
-
try {
|
|
66
|
-
const configModule = framework_1.container.resolve(utils_1.ContainerRegistrationKeys.CONFIG_MODULE);
|
|
67
|
-
if (!configModule?.modules) {
|
|
68
|
-
return null;
|
|
69
|
-
}
|
|
70
|
-
// Find the module in config
|
|
71
|
-
for (const [key, config] of Object.entries(configModule.modules)) {
|
|
72
|
-
if (typeof config === "object" && config !== null) {
|
|
73
|
-
const resolvedPath = config.resolve;
|
|
74
|
-
if (resolvedPath &&
|
|
75
|
-
(resolvedPath.includes(`/modules/${moduleName}`) ||
|
|
76
|
-
resolvedPath === `./modules/${moduleName}`)) {
|
|
77
|
-
// Load the module to get serviceName from joinerConfig
|
|
78
|
-
const moduleDirectory = this.getModuleDirectory(moduleName);
|
|
79
|
-
const moduleIndexPath = (0, path_1.join)(moduleDirectory, "index.ts");
|
|
80
|
-
const moduleExports = await (0, utils_1.dynamicImport)(moduleIndexPath);
|
|
81
|
-
const moduleService = moduleExports.service ?? moduleExports.default?.service;
|
|
82
|
-
const joinerConfig = typeof moduleService?.prototype?.__joinerConfig === "function"
|
|
83
|
-
? moduleService.prototype.__joinerConfig()
|
|
84
|
-
: moduleService?.prototype?.__joinerConfig;
|
|
85
|
-
if (!joinerConfig?.serviceName) {
|
|
86
|
-
return null;
|
|
87
|
-
}
|
|
88
|
-
return {
|
|
89
|
-
moduleKey: key,
|
|
90
|
-
serviceName: joinerConfig.serviceName,
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
return null;
|
|
96
|
-
}
|
|
97
|
-
catch (error) {
|
|
98
|
-
__classPrivateFieldGet(this, _ModuleReloader_logger, "f").warn(`${__classPrivateFieldGet(this, _ModuleReloader_logSource, "f")} Failed to get module info for "${moduleName}": ${error.message}`);
|
|
99
|
-
return null;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Shutdown a module instance by calling its lifecycle hooks
|
|
104
|
-
*/
|
|
105
|
-
async shutdownModule(moduleInstance) {
|
|
106
|
-
try {
|
|
107
|
-
if (moduleInstance?.__hooks?.onApplicationPrepareShutdown) {
|
|
108
|
-
await moduleInstance.__hooks.onApplicationPrepareShutdown
|
|
109
|
-
.bind(moduleInstance)()
|
|
110
|
-
.catch(() => { });
|
|
111
|
-
}
|
|
112
|
-
if (moduleInstance?.__hooks?.onApplicationShutdown) {
|
|
113
|
-
await moduleInstance.__hooks.onApplicationShutdown
|
|
114
|
-
.bind(moduleInstance)()
|
|
115
|
-
.catch(() => { });
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
catch (error) {
|
|
119
|
-
__classPrivateFieldGet(this, _ModuleReloader_logger, "f").warn(`${__classPrivateFieldGet(this, _ModuleReloader_logSource, "f")} Error during module shutdown: ${error.message}`);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Clear all module files from require cache
|
|
124
|
-
*/
|
|
125
|
-
clearModuleFilesCache(moduleDirectory) {
|
|
126
|
-
const relativeModuleDirectory = (0, path_1.relative)(__classPrivateFieldGet(this, _ModuleReloader_rootDirectory, "f"), moduleDirectory);
|
|
127
|
-
Object.keys(require.cache).forEach((cachedPath) => {
|
|
128
|
-
if (!types_1.CONFIG.EXCLUDED_PATH_PATTERNS.some((pattern) => cachedPath.includes(pattern)) &&
|
|
129
|
-
cachedPath.includes(relativeModuleDirectory)) {
|
|
130
|
-
delete require.cache[cachedPath];
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* Reload a module when its files change
|
|
136
|
-
*/
|
|
137
|
-
async reload(action, absoluteFilePath) {
|
|
138
|
-
if (!this.isModulePath(absoluteFilePath)) {
|
|
139
|
-
return;
|
|
140
|
-
}
|
|
141
|
-
const moduleName = this.getModuleNameFromPath(absoluteFilePath);
|
|
142
|
-
if (!moduleName) {
|
|
143
|
-
__classPrivateFieldGet(this, _ModuleReloader_logger, "f").warn(`${__classPrivateFieldGet(this, _ModuleReloader_logSource, "f")} Could not determine module name from path: ${absoluteFilePath}`);
|
|
144
|
-
return;
|
|
145
|
-
}
|
|
146
|
-
const relativePath = (0, path_1.relative)(__classPrivateFieldGet(this, _ModuleReloader_rootDirectory, "f"), absoluteFilePath);
|
|
147
|
-
if (action === "unlink") {
|
|
148
|
-
__classPrivateFieldGet(this, _ModuleReloader_logger, "f").warn(`${__classPrivateFieldGet(this, _ModuleReloader_logSource, "f")} Module file removed: ${relativePath}. Server restart may be required.`);
|
|
149
|
-
throw new errors_1.HMRReloadError(`Module file removed: ${relativePath}. Server restart may be required.`);
|
|
150
|
-
}
|
|
151
|
-
if (absoluteFilePath.includes("migrations")) {
|
|
152
|
-
__classPrivateFieldGet(this, _ModuleReloader_logger, "f").warn(`${__classPrivateFieldGet(this, _ModuleReloader_logSource, "f")} Migrations file changed: ${relativePath}. You may need to apply migrations and restart the server.`);
|
|
153
|
-
return;
|
|
154
|
-
}
|
|
155
|
-
// Get the module information
|
|
156
|
-
const moduleInfo = await this.getModuleInfo(moduleName);
|
|
157
|
-
if (!moduleInfo) {
|
|
158
|
-
__classPrivateFieldGet(this, _ModuleReloader_logger, "f").warn(`${__classPrivateFieldGet(this, _ModuleReloader_logSource, "f")} Could not find module config for: ${moduleName}`);
|
|
159
|
-
return;
|
|
160
|
-
}
|
|
161
|
-
const { moduleKey, serviceName } = moduleInfo;
|
|
162
|
-
__classPrivateFieldGet(this, _ModuleReloader_logger, "f").info(`${__classPrivateFieldGet(this, _ModuleReloader_logSource, "f")} Reloading module "${serviceName}" (${moduleName}) due to change in ${relativePath}`);
|
|
163
|
-
try {
|
|
164
|
-
// Get the current module instance
|
|
165
|
-
const moduleInstance = framework_1.container.resolve(serviceName);
|
|
166
|
-
if (moduleInstance) {
|
|
167
|
-
// Shutdown the module
|
|
168
|
-
await this.shutdownModule(moduleInstance);
|
|
169
|
-
}
|
|
170
|
-
const moduleDirectory = this.getModuleDirectory(moduleName);
|
|
171
|
-
this.clearModuleFilesCache(moduleDirectory);
|
|
172
|
-
const medusaAppLoader = new framework_1.MedusaAppLoader();
|
|
173
|
-
const newModuleInstance = (await medusaAppLoader.reloadSingleModule({
|
|
174
|
-
moduleKey,
|
|
175
|
-
serviceName,
|
|
176
|
-
}));
|
|
177
|
-
if (!newModuleInstance) {
|
|
178
|
-
throw new Error(`Failed to reload module "${moduleKey}"`);
|
|
179
|
-
}
|
|
180
|
-
__classPrivateFieldGet(this, _ModuleReloader_logger, "f").info(`${__classPrivateFieldGet(this, _ModuleReloader_logSource, "f")} Successfully reloaded module "${serviceName}"`);
|
|
181
|
-
}
|
|
182
|
-
catch (error) {
|
|
183
|
-
__classPrivateFieldGet(this, _ModuleReloader_logger, "f").error(`${__classPrivateFieldGet(this, _ModuleReloader_logSource, "f")} Failed to reload module "${serviceName}": ${error.message}`);
|
|
184
|
-
throw new errors_1.HMRReloadError(`Failed to reload module "${serviceName}": ${error.message}. Server restart may be required.`);
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
exports.ModuleReloader = ModuleReloader;
|
|
189
|
-
_ModuleReloader_logSource = new WeakMap(), _ModuleReloader_logger = new WeakMap(), _ModuleReloader_rootDirectory = new WeakMap();
|
|
190
|
-
//# sourceMappingURL=modules.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"modules.js","sourceRoot":"","sources":["../../../../../src/commands/utils/dev-server/reloaders/modules.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { ApiLoader } from "@medusajs/framework";
|
|
2
|
-
import { Logger } from "@medusajs/framework/types";
|
|
3
|
-
import { FileChangeAction } from "../types";
|
|
4
|
-
import { ModuleCacheManager } from "../module-cache-manager";
|
|
5
|
-
import { BaseReloader } from "./base";
|
|
6
|
-
/**
|
|
7
|
-
* Handles hot reloading of API resources (routes, middlewares, validators, etc.)
|
|
8
|
-
*/
|
|
9
|
-
export declare class RouteReloader extends BaseReloader {
|
|
10
|
-
#private;
|
|
11
|
-
private apiLoader;
|
|
12
|
-
constructor(apiLoader: ApiLoader | undefined, cacheManager: ModuleCacheManager, logSource: string, logger: Logger);
|
|
13
|
-
/**
|
|
14
|
-
* Check if a file path is in the API directory
|
|
15
|
-
*/
|
|
16
|
-
private isApiPath;
|
|
17
|
-
/**
|
|
18
|
-
* Reload ALL API resources when any API file changes
|
|
19
|
-
* This clears all Express routes/middleware and reloads everything from scratch
|
|
20
|
-
*/
|
|
21
|
-
reload(_action: FileChangeAction, absoluteFilePath: string): Promise<void>;
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=routes.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../../src/commands/utils/dev-server/reloaders/routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,EAAU,gBAAgB,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAErC;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;;IAM3C,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS,GAAG,SAAS,EACxC,YAAY,EAAE,kBAAkB,EAChC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM;IAQhB;;OAEG;IACH,OAAO,CAAC,SAAS;IAIjB;;;OAGG;IACG,MAAM,CACV,OAAO,EAAE,gBAAgB,EACzB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC;CA4BjB"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
-
};
|
|
8
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
-
};
|
|
13
|
-
var _RouteReloader_cacheManager, _RouteReloader_logSource, _RouteReloader_logger;
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.RouteReloader = void 0;
|
|
16
|
-
const types_1 = require("../types");
|
|
17
|
-
const base_1 = require("./base");
|
|
18
|
-
/**
|
|
19
|
-
* Handles hot reloading of API resources (routes, middlewares, validators, etc.)
|
|
20
|
-
*/
|
|
21
|
-
class RouteReloader extends base_1.BaseReloader {
|
|
22
|
-
constructor(apiLoader, cacheManager, logSource, logger) {
|
|
23
|
-
super(cacheManager, logSource, logger);
|
|
24
|
-
this.apiLoader = apiLoader;
|
|
25
|
-
_RouteReloader_cacheManager.set(this, void 0);
|
|
26
|
-
_RouteReloader_logSource.set(this, void 0);
|
|
27
|
-
_RouteReloader_logger.set(this, void 0);
|
|
28
|
-
__classPrivateFieldSet(this, _RouteReloader_cacheManager, cacheManager, "f");
|
|
29
|
-
__classPrivateFieldSet(this, _RouteReloader_logSource, logSource, "f");
|
|
30
|
-
__classPrivateFieldSet(this, _RouteReloader_logger, logger, "f");
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Check if a file path is in the API directory
|
|
34
|
-
*/
|
|
35
|
-
isApiPath(filePath) {
|
|
36
|
-
return filePath.includes(types_1.CONFIG.RESOURCE_PATH_PATTERNS.route);
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Reload ALL API resources when any API file changes
|
|
40
|
-
* This clears all Express routes/middleware and reloads everything from scratch
|
|
41
|
-
*/
|
|
42
|
-
async reload(_action, absoluteFilePath) {
|
|
43
|
-
if (!this.isApiPath(absoluteFilePath)) {
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
if (!this.apiLoader) {
|
|
47
|
-
__classPrivateFieldGet(this, _RouteReloader_logger, "f").error(`${__classPrivateFieldGet(this, _RouteReloader_logSource, "f")} ApiLoader not available - cannot reload API`);
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
__classPrivateFieldGet(this, _RouteReloader_logger, "f").info(`${__classPrivateFieldGet(this, _RouteReloader_logSource, "f")} API change detected: ${absoluteFilePath}`);
|
|
51
|
-
await __classPrivateFieldGet(this, _RouteReloader_cacheManager, "f").clear(absoluteFilePath, __classPrivateFieldGet(this, _RouteReloader_logger, "f"), undefined, false // Don't track as broken since we're intentionally reloading
|
|
52
|
-
);
|
|
53
|
-
this.apiLoader.clearAllResources();
|
|
54
|
-
await this.apiLoader.load();
|
|
55
|
-
__classPrivateFieldGet(this, _RouteReloader_logger, "f").info(`${__classPrivateFieldGet(this, _RouteReloader_logSource, "f")} API resources reloaded successfully`);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
exports.RouteReloader = RouteReloader;
|
|
59
|
-
_RouteReloader_cacheManager = new WeakMap(), _RouteReloader_logSource = new WeakMap(), _RouteReloader_logger = new WeakMap();
|
|
60
|
-
//# sourceMappingURL=routes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../../../src/commands/utils/dev-server/reloaders/routes.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,oCAAmD;AAEnD,iCAAqC;AAErC;;GAEG;AACH,MAAa,aAAc,SAAQ,mBAAY;IAK7C,YACU,SAAgC,EACxC,YAAgC,EAChC,SAAiB,EACjB,MAAc;QAEd,KAAK,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAL9B,cAAS,GAAT,SAAS,CAAuB;QAL1C,8CAAiC;QACjC,2CAAkB;QAClB,wCAAe;QASb,uBAAA,IAAI,+BAAiB,YAAY,MAAA,CAAA;QACjC,uBAAA,IAAI,4BAAc,SAAS,MAAA,CAAA;QAC3B,uBAAA,IAAI,yBAAW,MAAM,MAAA,CAAA;IACvB,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,QAAgB;QAChC,OAAO,QAAQ,CAAC,QAAQ,CAAC,cAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAA;IAC/D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CACV,OAAyB,EACzB,gBAAwB;QAExB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACtC,OAAM;QACR,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,uBAAA,IAAI,6BAAQ,CAAC,KAAK,CAChB,GAAG,uBAAA,IAAI,gCAAW,8CAA8C,CACjE,CAAA;YACD,OAAM;QACR,CAAC;QAED,uBAAA,IAAI,6BAAQ,CAAC,IAAI,CACf,GAAG,uBAAA,IAAI,gCAAW,yBAAyB,gBAAgB,EAAE,CAC9D,CAAA;QAED,MAAM,uBAAA,IAAI,mCAAc,CAAC,KAAK,CAC5B,gBAAgB,EAChB,uBAAA,IAAI,6BAAQ,EACZ,SAAS,EACT,KAAK,CAAC,4DAA4D;SACnE,CAAA;QAED,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAA;QAElC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;QAC3B,uBAAA,IAAI,6BAAQ,CAAC,IAAI,CAAC,GAAG,uBAAA,IAAI,gCAAW,sCAAsC,CAAC,CAAA;IAC7E,CAAC;CACF;AA3DD,sCA2DC"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { Logger, MedusaContainer } from "@medusajs/framework/types";
|
|
2
|
-
import { ResourceRegistry } from "../resource-registry";
|
|
3
|
-
import { FileChangeAction } from "../types";
|
|
4
|
-
import { BaseReloader } from "./base";
|
|
5
|
-
import { ModuleCacheManager } from "../module-cache-manager";
|
|
6
|
-
/**
|
|
7
|
-
* Handles hot reloading of subscriber files with event-bus unregistration
|
|
8
|
-
*/
|
|
9
|
-
export declare class SubscriberReloader extends BaseReloader {
|
|
10
|
-
#private;
|
|
11
|
-
private container;
|
|
12
|
-
private registry;
|
|
13
|
-
constructor(container: MedusaContainer, cacheManager: ModuleCacheManager, registry: ResourceRegistry, logSource: string, logger: Logger);
|
|
14
|
-
/**
|
|
15
|
-
* Check if a file path represents a subscriber
|
|
16
|
-
*/
|
|
17
|
-
private isSubscriberPath;
|
|
18
|
-
/**
|
|
19
|
-
* Unregister a subscriber from the event-bus
|
|
20
|
-
*/
|
|
21
|
-
private unregisterSubscriber;
|
|
22
|
-
/**
|
|
23
|
-
* Register a subscriber by loading the file and extracting its metadata
|
|
24
|
-
*/
|
|
25
|
-
private registerSubscriber;
|
|
26
|
-
/**
|
|
27
|
-
* Reload a subscriber file if necessary
|
|
28
|
-
*/
|
|
29
|
-
reload(action: FileChangeAction, absoluteFilePath: string): Promise<void>;
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=subscribers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subscribers.d.ts","sourceRoot":"","sources":["../../../../../src/commands/utils/dev-server/reloaders/subscribers.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,MAAM,EACN,eAAe,EAChB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAU,gBAAgB,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAU5D;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;;IAMhD,OAAO,CAAC,SAAS;IAEjB,OAAO,CAAC,QAAQ;gBAFR,SAAS,EAAE,eAAe,EAClC,YAAY,EAAE,kBAAkB,EACxB,QAAQ,EAAE,gBAAgB,EAClC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM;IAUhB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAsB5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA+B1B;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,gBAAgB,EACxB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC;CA+BjB"}
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
-
};
|
|
8
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
-
};
|
|
13
|
-
var _SubscriberReloader_eventBusService, _SubscriberReloader_logSource, _SubscriberReloader_logger;
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.SubscriberReloader = void 0;
|
|
16
|
-
const subscribers_1 = require("@medusajs/framework/subscribers");
|
|
17
|
-
const utils_1 = require("@medusajs/framework/utils");
|
|
18
|
-
const types_1 = require("../types");
|
|
19
|
-
const base_1 = require("./base");
|
|
20
|
-
/**
|
|
21
|
-
* Handles hot reloading of subscriber files with event-bus unregistration
|
|
22
|
-
*/
|
|
23
|
-
class SubscriberReloader extends base_1.BaseReloader {
|
|
24
|
-
constructor(container, cacheManager, registry, logSource, logger) {
|
|
25
|
-
super(cacheManager, logSource, logger);
|
|
26
|
-
this.container = container;
|
|
27
|
-
this.registry = registry;
|
|
28
|
-
_SubscriberReloader_eventBusService.set(this, void 0);
|
|
29
|
-
_SubscriberReloader_logSource.set(this, void 0);
|
|
30
|
-
_SubscriberReloader_logger.set(this, void 0);
|
|
31
|
-
__classPrivateFieldSet(this, _SubscriberReloader_logSource, logSource, "f");
|
|
32
|
-
__classPrivateFieldSet(this, _SubscriberReloader_logger, logger, "f");
|
|
33
|
-
__classPrivateFieldSet(this, _SubscriberReloader_eventBusService, container.resolve(utils_1.Modules.EVENT_BUS, {
|
|
34
|
-
allowUnregistered: true,
|
|
35
|
-
}), "f");
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Check if a file path represents a subscriber
|
|
39
|
-
*/
|
|
40
|
-
isSubscriberPath(filePath) {
|
|
41
|
-
return filePath.includes(types_1.CONFIG.RESOURCE_PATH_PATTERNS.subscriber);
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Unregister a subscriber from the event-bus
|
|
45
|
-
*/
|
|
46
|
-
unregisterSubscriber(metadata) {
|
|
47
|
-
if (!__classPrivateFieldGet(this, _SubscriberReloader_eventBusService, "f")) {
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
for (const event of metadata.events) {
|
|
51
|
-
// Create a dummy subscriber function - the event-bus will use subscriberId to find the real one
|
|
52
|
-
const dummySubscriber = async () => { };
|
|
53
|
-
dummySubscriber.subscriberId = metadata.subscriberId;
|
|
54
|
-
__classPrivateFieldGet(this, _SubscriberReloader_eventBusService, "f").unsubscribe(event, dummySubscriber, {
|
|
55
|
-
subscriberId: metadata.subscriberId,
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
__classPrivateFieldGet(this, _SubscriberReloader_logger, "f").debug(`${__classPrivateFieldGet(this, _SubscriberReloader_logSource, "f")} Unregistered subscriber ${metadata.subscriberId} from events: ${metadata.events.join(", ")}`);
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Register a subscriber by loading the file and extracting its metadata
|
|
62
|
-
*/
|
|
63
|
-
registerSubscriber(absoluteFilePath) {
|
|
64
|
-
if (!__classPrivateFieldGet(this, _SubscriberReloader_eventBusService, "f")) {
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
try {
|
|
68
|
-
// Load the subscriber module
|
|
69
|
-
const subscriberModule = require(absoluteFilePath);
|
|
70
|
-
new subscribers_1.SubscriberLoader(absoluteFilePath, {}, this.container).createSubscriber({
|
|
71
|
-
fileName: absoluteFilePath,
|
|
72
|
-
config: subscriberModule.config,
|
|
73
|
-
handler: subscriberModule.default,
|
|
74
|
-
});
|
|
75
|
-
__classPrivateFieldGet(this, _SubscriberReloader_logger, "f").debug(`${__classPrivateFieldGet(this, _SubscriberReloader_logSource, "f")} Registered subscriber ${absoluteFilePath}`);
|
|
76
|
-
}
|
|
77
|
-
catch (error) {
|
|
78
|
-
__classPrivateFieldGet(this, _SubscriberReloader_logger, "f").error(`${__classPrivateFieldGet(this, _SubscriberReloader_logSource, "f")} Failed to register subscriber from ${absoluteFilePath}: ${error}`);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Reload a subscriber file if necessary
|
|
83
|
-
*/
|
|
84
|
-
async reload(action, absoluteFilePath) {
|
|
85
|
-
if (!this.isSubscriberPath(absoluteFilePath)) {
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
if (!__classPrivateFieldGet(this, _SubscriberReloader_eventBusService, "f")) {
|
|
89
|
-
__classPrivateFieldGet(this, _SubscriberReloader_logger, "f").error(`${__classPrivateFieldGet(this, _SubscriberReloader_logSource, "f")} EventBusService not available - cannot reload subscribers`);
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
const existingResources = this.registry.getResources(absoluteFilePath);
|
|
93
|
-
if (existingResources) {
|
|
94
|
-
for (const [_, resources] of existingResources) {
|
|
95
|
-
for (const resource of resources) {
|
|
96
|
-
this.unregisterSubscriber({
|
|
97
|
-
subscriberId: resource.id,
|
|
98
|
-
events: resource.events,
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
if (action === "add" || action === "change") {
|
|
104
|
-
this.clearModuleCache(absoluteFilePath);
|
|
105
|
-
this.registerSubscriber(absoluteFilePath);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
exports.SubscriberReloader = SubscriberReloader;
|
|
110
|
-
_SubscriberReloader_eventBusService = new WeakMap(), _SubscriberReloader_logSource = new WeakMap(), _SubscriberReloader_logger = new WeakMap();
|
|
111
|
-
//# sourceMappingURL=subscribers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subscribers.js","sourceRoot":"","sources":["../../../../../src/commands/utils/dev-server/reloaders/subscribers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Logger } from "@medusajs/framework/types";
|
|
2
|
-
import { ModuleCacheManager } from "../module-cache-manager";
|
|
3
|
-
import { ResourceRegistry } from "../resource-registry";
|
|
4
|
-
import { DevServerGlobals, ReloadParams, FileChangeAction } from "../types";
|
|
5
|
-
import { BaseReloader } from "./base";
|
|
6
|
-
/**
|
|
7
|
-
* Handles hot reloading of workflow and step files
|
|
8
|
-
*/
|
|
9
|
-
export declare class WorkflowReloader extends BaseReloader {
|
|
10
|
-
#private;
|
|
11
|
-
private workflowManager;
|
|
12
|
-
private registry;
|
|
13
|
-
private reloadResources;
|
|
14
|
-
constructor(workflowManager: DevServerGlobals["WorkflowManager"], cacheManager: ModuleCacheManager, registry: ResourceRegistry, reloadResources: (params: ReloadParams) => Promise<void>, logSource: string, logger: Logger, rootDirectory: string);
|
|
15
|
-
/**
|
|
16
|
-
* Check if a file path represents a workflow
|
|
17
|
-
*/
|
|
18
|
-
private isWorkflowPath;
|
|
19
|
-
/**
|
|
20
|
-
* Reload a workflow file if necessary
|
|
21
|
-
*/
|
|
22
|
-
reload(action: FileChangeAction, absoluteFilePath: string, keepCache?: boolean, skipRecovery?: boolean): Promise<void>;
|
|
23
|
-
/**
|
|
24
|
-
* Unregister workflow and step resources
|
|
25
|
-
*/
|
|
26
|
-
private unregisterResources;
|
|
27
|
-
/**
|
|
28
|
-
* Handle unregistering a step and find affected workflows
|
|
29
|
-
*/
|
|
30
|
-
private handleStepUnregister;
|
|
31
|
-
/**
|
|
32
|
-
* Unregister workflows found in a resource and track their paths
|
|
33
|
-
*/
|
|
34
|
-
private unregisterWorkflowsInResource;
|
|
35
|
-
/**
|
|
36
|
-
* Reload workflow modules using require
|
|
37
|
-
*/
|
|
38
|
-
private reloadWorkflowModules;
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=workflows.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../../../../src/commands/utils/dev-server/reloaders/workflows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAEL,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EACjB,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAErC;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;;IAM9C,OAAO,CAAC,eAAe;IAEvB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,eAAe;gBAHf,eAAe,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,EAC5D,YAAY,EAAE,kBAAkB,EACxB,QAAQ,EAAE,gBAAgB,EAC1B,eAAe,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,EAChE,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM;IAQvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,gBAAgB,EACxB,gBAAgB,EAAE,MAAM,EACxB,SAAS,GAAE,OAAe,EAC1B,YAAY,GAAE,OAAe,GAC5B,OAAO,CAAC,IAAI,CAAC;IA2ChB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoB3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA0B5B;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAiBrC;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAS9B"}
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
-
};
|
|
8
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
-
};
|
|
13
|
-
var _WorkflowReloader_logSource, _WorkflowReloader_logger, _WorkflowReloader_rootDirectory;
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.WorkflowReloader = void 0;
|
|
16
|
-
const types_1 = require("../types");
|
|
17
|
-
const base_1 = require("./base");
|
|
18
|
-
/**
|
|
19
|
-
* Handles hot reloading of workflow and step files
|
|
20
|
-
*/
|
|
21
|
-
class WorkflowReloader extends base_1.BaseReloader {
|
|
22
|
-
constructor(workflowManager, cacheManager, registry, reloadResources, logSource, logger, rootDirectory) {
|
|
23
|
-
super(cacheManager, logSource, logger);
|
|
24
|
-
this.workflowManager = workflowManager;
|
|
25
|
-
this.registry = registry;
|
|
26
|
-
this.reloadResources = reloadResources;
|
|
27
|
-
_WorkflowReloader_logSource.set(this, void 0);
|
|
28
|
-
_WorkflowReloader_logger.set(this, void 0);
|
|
29
|
-
_WorkflowReloader_rootDirectory.set(this, void 0);
|
|
30
|
-
__classPrivateFieldSet(this, _WorkflowReloader_logSource, logSource, "f");
|
|
31
|
-
__classPrivateFieldSet(this, _WorkflowReloader_logger, logger, "f");
|
|
32
|
-
__classPrivateFieldSet(this, _WorkflowReloader_rootDirectory, rootDirectory, "f");
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Check if a file path represents a workflow
|
|
36
|
-
*/
|
|
37
|
-
isWorkflowPath(filePath) {
|
|
38
|
-
return filePath.includes(types_1.CONFIG.RESOURCE_PATH_PATTERNS.workflow);
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Reload a workflow file if necessary
|
|
42
|
-
*/
|
|
43
|
-
async reload(action, absoluteFilePath, keepCache = false, skipRecovery = false) {
|
|
44
|
-
if (!this.isWorkflowPath(absoluteFilePath)) {
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
if (!this.workflowManager) {
|
|
48
|
-
__classPrivateFieldGet(this, _WorkflowReloader_logger, "f").error(`${__classPrivateFieldGet(this, _WorkflowReloader_logSource, "f")} WorkflowManager not available - cannot reload workflows`);
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
const requirableWorkflowPaths = new Set();
|
|
52
|
-
const reloaders = [];
|
|
53
|
-
// Unregister resources and collect affected workflows
|
|
54
|
-
this.unregisterResources(absoluteFilePath, requirableWorkflowPaths);
|
|
55
|
-
if (!keepCache) {
|
|
56
|
-
await this.clearParentChildModulesCache(absoluteFilePath, reloaders, this.reloadResources, skipRecovery, __classPrivateFieldGet(this, _WorkflowReloader_rootDirectory, "f"));
|
|
57
|
-
}
|
|
58
|
-
this.clearModuleCache(absoluteFilePath);
|
|
59
|
-
// Reload workflows that were affected
|
|
60
|
-
if (action !== "unlink") {
|
|
61
|
-
this.reloadWorkflowModules(requirableWorkflowPaths, absoluteFilePath);
|
|
62
|
-
}
|
|
63
|
-
// Execute deferred reloaders
|
|
64
|
-
if (reloaders.length) {
|
|
65
|
-
await Promise.all(reloaders.map(async (reloader) => reloader()));
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Unregister workflow and step resources
|
|
70
|
-
*/
|
|
71
|
-
unregisterResources(absoluteFilePath, affectedWorkflows) {
|
|
72
|
-
const resources = this.registry.getResources(absoluteFilePath);
|
|
73
|
-
if (!resources) {
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
for (const [type, resourceList] of resources.entries()) {
|
|
77
|
-
for (const resource of resourceList) {
|
|
78
|
-
if (type === "workflow") {
|
|
79
|
-
this.workflowManager.unregister(resource.id);
|
|
80
|
-
}
|
|
81
|
-
else if (type === "step") {
|
|
82
|
-
this.handleStepUnregister(resource, affectedWorkflows);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Handle unregistering a step and find affected workflows
|
|
89
|
-
*/
|
|
90
|
-
handleStepUnregister(stepResource, affectedWorkflows) {
|
|
91
|
-
const workflowSourcePaths = this.registry.getWorkflowSourcePaths(stepResource.id);
|
|
92
|
-
if (!workflowSourcePaths) {
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
for (const sourcePath of workflowSourcePaths) {
|
|
96
|
-
const workflowResources = this.registry.getResources(sourcePath);
|
|
97
|
-
if (!workflowResources) {
|
|
98
|
-
continue;
|
|
99
|
-
}
|
|
100
|
-
this.unregisterWorkflowsInResource(workflowResources, affectedWorkflows, sourcePath);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Unregister workflows found in a resource and track their paths
|
|
105
|
-
*/
|
|
106
|
-
unregisterWorkflowsInResource(workflowResources, affectedWorkflows, sourcePath) {
|
|
107
|
-
for (const [type, resourceList] of workflowResources.entries()) {
|
|
108
|
-
if (type !== "workflow") {
|
|
109
|
-
continue;
|
|
110
|
-
}
|
|
111
|
-
for (const workflow of resourceList) {
|
|
112
|
-
this.workflowManager.unregister(workflow.id);
|
|
113
|
-
affectedWorkflows.add(sourcePath);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Reload workflow modules using require
|
|
119
|
-
*/
|
|
120
|
-
reloadWorkflowModules(workflowPaths, mainFilePath) {
|
|
121
|
-
for (const workflowPath of workflowPaths) {
|
|
122
|
-
require(workflowPath);
|
|
123
|
-
}
|
|
124
|
-
require(mainFilePath);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
exports.WorkflowReloader = WorkflowReloader;
|
|
128
|
-
_WorkflowReloader_logSource = new WeakMap(), _WorkflowReloader_logger = new WeakMap(), _WorkflowReloader_rootDirectory = new WeakMap();
|
|
129
|
-
//# sourceMappingURL=workflows.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../../../../src/commands/utils/dev-server/reloaders/workflows.ts"],"names":[],"mappings":"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"}
|