@medusajs/medusa 2.9.0-preview-20250806180137 → 2.9.0-snapshot-20250806163346
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/build.d.ts.map +1 -1
- package/dist/commands/build.js +6 -4
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/db/create.d.ts.map +1 -1
- package/dist/commands/db/create.js +16 -12
- package/dist/commands/db/create.js.map +1 -1
- package/dist/commands/db/generate.d.ts.map +1 -1
- package/dist/commands/db/generate.js +7 -7
- package/dist/commands/db/generate.js.map +1 -1
- package/dist/commands/db/migrate.d.ts.map +1 -1
- package/dist/commands/db/migrate.js +8 -4
- package/dist/commands/db/migrate.js.map +1 -1
- package/dist/commands/db/rollback.d.ts.map +1 -1
- package/dist/commands/db/rollback.js +7 -7
- package/dist/commands/db/rollback.js.map +1 -1
- package/dist/commands/db/run-scripts.d.ts.map +1 -1
- package/dist/commands/db/run-scripts.js +10 -9
- package/dist/commands/db/run-scripts.js.map +1 -1
- package/dist/commands/db/setup.d.ts.map +1 -1
- package/dist/commands/db/setup.js +4 -2
- package/dist/commands/db/setup.js.map +1 -1
- package/dist/commands/db/sync-links.d.ts +2 -1
- package/dist/commands/db/sync-links.d.ts.map +1 -1
- package/dist/commands/db/sync-links.js +19 -17
- package/dist/commands/db/sync-links.js.map +1 -1
- package/dist/commands/develop.d.ts.map +1 -1
- package/dist/commands/develop.js +10 -8
- package/dist/commands/develop.js.map +1 -1
- package/dist/commands/exec.d.ts.map +1 -1
- package/dist/commands/exec.js +9 -7
- package/dist/commands/exec.js.map +1 -1
- package/dist/commands/plugin/build.d.ts.map +1 -1
- package/dist/commands/plugin/build.js +6 -4
- package/dist/commands/plugin/build.js.map +1 -1
- package/dist/commands/plugin/db/generate.d.ts.map +1 -1
- package/dist/commands/plugin/db/generate.js +12 -10
- package/dist/commands/plugin/db/generate.js.map +1 -1
- package/dist/commands/plugin/develop.d.ts.map +1 -1
- package/dist/commands/plugin/develop.js +6 -4
- package/dist/commands/plugin/develop.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +20 -16
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/user.d.ts.map +1 -1
- package/dist/commands/user.js +7 -5
- package/dist/commands/user.js.map +1 -1
- package/dist/commands/utils/index.d.ts.map +1 -1
- package/dist/commands/utils/index.js +4 -4
- package/dist/commands/utils/index.js.map +1 -1
- package/dist/loaders/index.d.ts.map +1 -1
- package/dist/loaders/index.js +3 -2
- package/dist/loaders/index.js.map +1 -1
- package/package.json +49 -49
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAGA,wBAA8B,KAAK,CAAC,EAClC,SAAS,EACT,SAAS,GACV,EAAE;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;CACnB,
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAGA,wBAA8B,KAAK,CAAC,EAClC,SAAS,EACT,SAAS,GACV,EAAE;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;CACnB,iBA2BA"}
|
package/dist/commands/build.js
CHANGED
@@ -1,14 +1,16 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.default = build;
|
4
|
-
const logger_1 = require("@medusajs/framework/logger");
|
5
4
|
const build_tools_1 = require("@medusajs/framework/build-tools");
|
5
|
+
const config_1 = require("@medusajs/framework/config");
|
6
6
|
async function build({ directory, adminOnly, }) {
|
7
|
-
|
8
|
-
const
|
7
|
+
const config = await (0, config_1.configLoader)(directory, "medusa-config");
|
8
|
+
const logger = config.logger;
|
9
|
+
logger.info("Starting build...");
|
10
|
+
const compiler = new build_tools_1.Compiler(directory, logger);
|
9
11
|
const tsConfig = await compiler.loadTSConfigFile();
|
10
12
|
if (!tsConfig) {
|
11
|
-
|
13
|
+
logger.error("Unable to compile application");
|
12
14
|
process.exit(1);
|
13
15
|
}
|
14
16
|
const promises = [];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":";;AAGA,
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":";;AAGA,wBAiCC;AApCD,iEAA0D;AAC1D,uDAAyD;AAE1C,KAAK,UAAU,KAAK,CAAC,EAClC,SAAS,EACT,SAAS,GAIV;IACC,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAY,EAAC,SAAS,EAAE,eAAe,CAAC,CAAA;IAC7D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAO,CAAA;IAE7B,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IAChC,MAAM,QAAQ,GAAG,IAAI,sBAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAEhD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE,CAAA;IAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,QAAQ,GAAuB,EAAE,CAAA;IACvC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAA;IACnD,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAA;IACvD,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;IACtE,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAE7C,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/db/create.ts"],"names":[],"mappings":"AAqBA;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,EAC7B,EAAE,EACF,SAAS,EACT,WAAW,GACZ,EAAE;IACD,EAAE,EAAE,MAAM,GAAG,SAAS,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,OAAO,CAAA;CACrB,GAAG,OAAO,CAAC,OAAO,CAAC,
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/db/create.ts"],"names":[],"mappings":"AAqBA;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,EAC7B,EAAE,EACF,SAAS,EACT,WAAW,GACZ,EAAE;IACD,EAAE,EAAE,MAAM,GAAG,SAAS,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,OAAO,CAAA;CACrB,GAAG,OAAO,CAAC,OAAO,CAAC,CA4HnB;AAED,QAAA,MAAM,IAAI;;;;oBAcT,CAAA;AAED,eAAe,IAAI,CAAA"}
|
@@ -4,11 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
exports.dbCreate = dbCreate;
|
7
|
-
const slugify_1 = __importDefault(require("slugify"));
|
8
|
-
const path_1 = require("path");
|
9
7
|
const input_1 = __importDefault(require("@inquirer/input"));
|
10
|
-
const
|
8
|
+
const config_1 = require("@medusajs/framework/config");
|
11
9
|
const utils_1 = require("@medusajs/framework/utils");
|
10
|
+
const path_1 = require("path");
|
11
|
+
const slugify_1 = __importDefault(require("slugify"));
|
12
12
|
async function connectClient(client) {
|
13
13
|
try {
|
14
14
|
await client.connect();
|
@@ -23,6 +23,8 @@ async function connectClient(client) {
|
|
23
23
|
* never exit the process implicitly.
|
24
24
|
*/
|
25
25
|
async function dbCreate({ db, directory, interactive, }) {
|
26
|
+
const config = await (0, config_1.configLoader)(directory, "medusa-config");
|
27
|
+
const logger = config.logger;
|
26
28
|
let dbName = db;
|
27
29
|
/**
|
28
30
|
* Loading the ".env" file in editor mode so that
|
@@ -40,7 +42,7 @@ async function dbCreate({ db, directory, interactive, }) {
|
|
40
42
|
*/
|
41
43
|
const dbConnectionString = envEditor.get("DATABASE_URL");
|
42
44
|
if (!dbConnectionString) {
|
43
|
-
|
45
|
+
logger.error(`Missing "DATABASE_URL" inside the .env file. The value is required to connect to the PostgreSQL server`);
|
44
46
|
return false;
|
45
47
|
}
|
46
48
|
/**
|
@@ -107,26 +109,28 @@ async function dbCreate({ db, directory, interactive, }) {
|
|
107
109
|
* Notify user about the connection state
|
108
110
|
*/
|
109
111
|
if (!connectionState.connected) {
|
110
|
-
|
111
|
-
|
112
|
+
logger.error("Unable to establish database connection because of the following error");
|
113
|
+
logger.error(connectionState.error);
|
112
114
|
return false;
|
113
115
|
}
|
114
|
-
|
116
|
+
logger.info(`Connection established with the database "${dbName}"`);
|
115
117
|
if (await (0, utils_1.dbExists)(client, dbName)) {
|
116
|
-
|
118
|
+
logger.info(`Database "${dbName}" already exists`);
|
117
119
|
envEditor.set("DB_NAME", dbName, { withEmptyTemplateValue: true });
|
118
120
|
await envEditor.save();
|
119
|
-
|
121
|
+
logger.info(`Updated .env file with "DB_NAME=${dbName}"`);
|
120
122
|
return true;
|
121
123
|
}
|
122
124
|
await (0, utils_1.createDb)(client, dbName);
|
123
|
-
|
125
|
+
logger.info(`Created database "${dbName}"`);
|
124
126
|
envEditor.set("DB_NAME", dbName);
|
125
127
|
await envEditor.save();
|
126
|
-
|
128
|
+
logger.info(`Updated .env file with "DB_NAME=${dbName}"`);
|
127
129
|
return true;
|
128
130
|
}
|
129
131
|
const main = async function ({ directory, interactive, db }) {
|
132
|
+
const config = await (0, config_1.configLoader)(directory, "medusa-config");
|
133
|
+
const logger = config.logger;
|
130
134
|
try {
|
131
135
|
const created = await dbCreate({ directory, interactive, db });
|
132
136
|
process.exit(created ? 0 : 1);
|
@@ -135,7 +139,7 @@ const main = async function ({ directory, interactive, db }) {
|
|
135
139
|
if (error.name === "ExitPromptError") {
|
136
140
|
process.exit();
|
137
141
|
}
|
138
|
-
|
142
|
+
logger.error(error);
|
139
143
|
process.exit(1);
|
140
144
|
}
|
141
145
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/db/create.ts"],"names":[],"mappings":";;;;;AAyBA,
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/db/create.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/commands/db/generate.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/commands/db/generate.ts"],"names":[],"mappings":"AAeA,QAAA,MAAM,IAAI;;;oBAmDT,CAAA;AAED,eAAe,IAAI,CAAA"}
|
@@ -2,18 +2,18 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
const framework_1 = require("@medusajs/framework");
|
4
4
|
const links_1 = require("@medusajs/framework/links");
|
5
|
-
const logger_1 = require("@medusajs/framework/logger");
|
6
5
|
const utils_1 = require("@medusajs/framework/utils");
|
7
6
|
const path_1 = require("path");
|
8
7
|
const loaders_1 = require("../../loaders");
|
9
8
|
const utils_2 = require("../utils");
|
10
9
|
const TERMINAL_SIZE = process.stdout.columns;
|
11
10
|
const main = async function ({ directory, modules }) {
|
11
|
+
const container = await (0, loaders_1.initializeContainer)(directory);
|
12
|
+
const logger = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
|
12
13
|
try {
|
13
14
|
/**
|
14
15
|
* Setup
|
15
16
|
*/
|
16
|
-
const container = await (0, loaders_1.initializeContainer)(directory);
|
17
17
|
await (0, utils_2.ensureDbExists)(container);
|
18
18
|
const medusaAppLoader = new framework_1.MedusaAppLoader();
|
19
19
|
const configModule = container.resolve(utils_1.ContainerRegistrationKeys.CONFIG_MODULE);
|
@@ -24,24 +24,24 @@ const main = async function ({ directory, modules }) {
|
|
24
24
|
/**
|
25
25
|
* Generating migrations
|
26
26
|
*/
|
27
|
-
|
27
|
+
logger.info("Generating migrations...");
|
28
28
|
await medusaAppLoader.runModulesMigrations({
|
29
29
|
moduleNames: modules,
|
30
30
|
action: "generate",
|
31
31
|
});
|
32
32
|
console.log(new Array(TERMINAL_SIZE).join("-"));
|
33
|
-
|
33
|
+
logger.info("Migrations generated");
|
34
34
|
process.exit();
|
35
35
|
}
|
36
36
|
catch (error) {
|
37
37
|
console.log(new Array(TERMINAL_SIZE).join("-"));
|
38
38
|
if (error.code && error.code === utils_1.MedusaError.Codes.UNKNOWN_MODULES) {
|
39
|
-
|
39
|
+
logger.error(error.message);
|
40
40
|
const modulesList = error.allModules.map((name) => ` - ${name}`);
|
41
|
-
|
41
|
+
logger.error(`Available modules:\n${modulesList.join("\n")}`);
|
42
42
|
}
|
43
43
|
else {
|
44
|
-
|
44
|
+
logger.error(error.message, error);
|
45
45
|
}
|
46
46
|
process.exit(1);
|
47
47
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/commands/db/generate.ts"],"names":[],"mappings":";;AAAA,mDAAqD;AACrD,qDAAsD;AACtD,
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/commands/db/generate.ts"],"names":[],"mappings":";;AAAA,mDAAqD;AACrD,qDAAsD;AACtD,qDAKkC;AAClC,+BAA2B;AAE3B,2CAAmD;AACnD,oCAAyC;AAEzC,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAA;AAE5C,MAAM,IAAI,GAAG,KAAK,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE;IACjD,MAAM,SAAS,GAAG,MAAM,IAAA,6BAAmB,EAAC,SAAS,CAAC,CAAA;IACtD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,iCAAyB,CAAC,MAAM,CAAC,CAAA;IAElE,IAAI,CAAC;QACH;;WAEG;QAEH,MAAM,IAAA,sBAAc,EAAC,SAAS,CAAC,CAAA;QAE/B,MAAM,eAAe,GAAG,IAAI,2BAAe,EAAE,CAAA;QAC7C,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CACpC,iCAAyB,CAAC,aAAa,CACxC,CAAA;QAED,MAAM,OAAO,GAAG,MAAM,IAAA,0BAAkB,EAAC,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,CAAA;QACvE,IAAA,0BAAkB,EAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAEzC,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC9C,IAAA,WAAI,EAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAC9B,CAAA;QACD,MAAM,IAAI,kBAAU,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAA;QAE7C;;WAEG;QACH,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;QAEvC,MAAM,eAAe,CAAC,oBAAoB,CAAC;YACzC,WAAW,EAAE,OAAO;YACpB,MAAM,EAAE,UAAU;SACnB,CAAC,CAAA;QAEF,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAC/C,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;QAEnC,OAAO,CAAC,IAAI,EAAE,CAAA;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAC/C,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAW,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YACnE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC3B,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CACtC,CAAC,IAAY,EAAE,EAAE,CAAC,eAAe,IAAI,EAAE,CACxC,CAAA;YACD,MAAM,CAAC,KAAK,CAAC,uBAAuB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC/D,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QACpC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,CAAA;AAED,kBAAe,IAAI,CAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/commands/db/migrate.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/commands/db/migrate.ts"],"names":[],"mappings":"AAoBA;;;GAGG;AACH,wBAAsB,OAAO,CAAC,EAC5B,SAAS,EACT,SAAS,EACT,WAAW,EACX,eAAe,EACf,gBAAgB,GACjB,EAAE;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,OAAO,CAAA;IACpB,eAAe,EAAE,OAAO,CAAA;IACxB,gBAAgB,EAAE,OAAO,CAAA;CAC1B,GAAG,OAAO,CAAC,OAAO,CAAC,CAiEnB;AAED,QAAA,MAAM,IAAI;;;;;;oBAuBT,CAAA;AAED,eAAe,IAAI,CAAA"}
|
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.migrate = migrate;
|
7
7
|
const framework_1 = require("@medusajs/framework");
|
8
8
|
const links_1 = require("@medusajs/framework/links");
|
9
|
-
const logger_1 = require("@medusajs/framework/logger");
|
10
9
|
const utils_1 = require("@medusajs/framework/utils");
|
11
10
|
const path_1 = require("path");
|
11
|
+
const config_1 = require("@medusajs/framework/config");
|
12
12
|
const child_process_1 = require("child_process");
|
13
13
|
const path_2 = __importDefault(require("path"));
|
14
14
|
const loaders_1 = require("../../loaders");
|
@@ -25,6 +25,7 @@ async function migrate({ directory, skipLinks, skipScripts, executeAllLinks, exe
|
|
25
25
|
* Setup
|
26
26
|
*/
|
27
27
|
const container = await (0, loaders_1.initializeContainer)(directory);
|
28
|
+
const logger = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
|
28
29
|
await (0, utils_2.ensureDbExists)(container);
|
29
30
|
const medusaAppLoader = new framework_1.MedusaAppLoader();
|
30
31
|
const configModule = container.resolve(utils_1.ContainerRegistrationKeys.CONFIG_MODULE);
|
@@ -35,12 +36,12 @@ async function migrate({ directory, skipLinks, skipScripts, executeAllLinks, exe
|
|
35
36
|
/**
|
36
37
|
* Run migrations
|
37
38
|
*/
|
38
|
-
|
39
|
+
logger.info("Running migrations...");
|
39
40
|
await medusaAppLoader.runModulesMigrations({
|
40
41
|
action: "run",
|
41
42
|
});
|
42
43
|
console.log(new Array(TERMINAL_SIZE).join("-"));
|
43
|
-
|
44
|
+
logger.info("Migrations completed");
|
44
45
|
/**
|
45
46
|
* Sync links
|
46
47
|
*/
|
@@ -49,6 +50,7 @@ async function migrate({ directory, skipLinks, skipScripts, executeAllLinks, exe
|
|
49
50
|
await (0, sync_links_1.syncLinks)(medusaAppLoader, {
|
50
51
|
executeAll: executeAllLinks,
|
51
52
|
executeSafe: executeSafeLinks,
|
53
|
+
directory,
|
52
54
|
});
|
53
55
|
}
|
54
56
|
if (!skipScripts) {
|
@@ -72,6 +74,8 @@ async function migrate({ directory, skipLinks, skipScripts, executeAllLinks, exe
|
|
72
74
|
return true;
|
73
75
|
}
|
74
76
|
const main = async function ({ directory, skipLinks, skipScripts, executeAllLinks, executeSafeLinks, }) {
|
77
|
+
const config = await (0, config_1.configLoader)(directory, "medusa-config");
|
78
|
+
const logger = config.logger;
|
75
79
|
try {
|
76
80
|
const migrated = await migrate({
|
77
81
|
directory,
|
@@ -83,7 +87,7 @@ const main = async function ({ directory, skipLinks, skipScripts, executeAllLink
|
|
83
87
|
process.exit(migrated ? 0 : 1);
|
84
88
|
}
|
85
89
|
catch (error) {
|
86
|
-
|
90
|
+
logger.error(error);
|
87
91
|
process.exit(1);
|
88
92
|
}
|
89
93
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/commands/db/migrate.ts"],"names":[],"mappings":";;;;;
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/commands/db/migrate.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rollback.d.ts","sourceRoot":"","sources":["../../../src/commands/db/rollback.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"rollback.d.ts","sourceRoot":"","sources":["../../../src/commands/db/rollback.ts"],"names":[],"mappings":"AAeA,QAAA,MAAM,IAAI;;;oBAiDT,CAAA;AAED,eAAe,IAAI,CAAA"}
|
@@ -2,18 +2,18 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
const framework_1 = require("@medusajs/framework");
|
4
4
|
const links_1 = require("@medusajs/framework/links");
|
5
|
-
const logger_1 = require("@medusajs/framework/logger");
|
6
5
|
const utils_1 = require("@medusajs/framework/utils");
|
7
6
|
const path_1 = require("path");
|
8
7
|
const loaders_1 = require("../../loaders");
|
9
8
|
const utils_2 = require("../utils");
|
10
9
|
const TERMINAL_SIZE = process.stdout.columns;
|
11
10
|
const main = async function ({ directory, modules }) {
|
11
|
+
const container = await (0, loaders_1.initializeContainer)(directory);
|
12
|
+
const logger = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
|
12
13
|
try {
|
13
14
|
/**
|
14
15
|
* Setup
|
15
16
|
*/
|
16
|
-
const container = await (0, loaders_1.initializeContainer)(directory);
|
17
17
|
await (0, utils_2.ensureDbExists)(container);
|
18
18
|
const medusaAppLoader = new framework_1.MedusaAppLoader();
|
19
19
|
const configModule = container.resolve(utils_1.ContainerRegistrationKeys.CONFIG_MODULE);
|
@@ -24,24 +24,24 @@ const main = async function ({ directory, modules }) {
|
|
24
24
|
/**
|
25
25
|
* Reverting migrations
|
26
26
|
*/
|
27
|
-
|
27
|
+
logger.info("Reverting migrations...");
|
28
28
|
await medusaAppLoader.runModulesMigrations({
|
29
29
|
moduleNames: modules,
|
30
30
|
action: "revert",
|
31
31
|
});
|
32
32
|
console.log(new Array(TERMINAL_SIZE).join("-"));
|
33
|
-
|
33
|
+
logger.info("Migrations reverted");
|
34
34
|
process.exit();
|
35
35
|
}
|
36
36
|
catch (error) {
|
37
37
|
console.log(new Array(TERMINAL_SIZE).join("-"));
|
38
38
|
if (error.code && error.code === utils_1.MedusaError.Codes.UNKNOWN_MODULES) {
|
39
|
-
|
39
|
+
logger.error(error.message);
|
40
40
|
const modulesList = error.allModules.map((name) => ` - ${name}`);
|
41
|
-
|
41
|
+
logger.error(`Available modules:\n${modulesList.join("\n")}`);
|
42
42
|
}
|
43
43
|
else {
|
44
|
-
|
44
|
+
logger.error(error.message, error);
|
45
45
|
}
|
46
46
|
process.exit(1);
|
47
47
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rollback.js","sourceRoot":"","sources":["../../../src/commands/db/rollback.ts"],"names":[],"mappings":";;AAAA,mDAAqD;AACrD,qDAAsD;AACtD,
|
1
|
+
{"version":3,"file":"rollback.js","sourceRoot":"","sources":["../../../src/commands/db/rollback.ts"],"names":[],"mappings":";;AAAA,mDAAqD;AACrD,qDAAsD;AACtD,qDAKkC;AAClC,+BAA2B;AAE3B,2CAAmD;AACnD,oCAAyC;AAEzC,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAA;AAE5C,MAAM,IAAI,GAAG,KAAK,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE;IACjD,MAAM,SAAS,GAAG,MAAM,IAAA,6BAAmB,EAAC,SAAS,CAAC,CAAA;IACtD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,iCAAyB,CAAC,MAAM,CAAC,CAAA;IAElE,IAAI,CAAC;QACH;;WAEG;QAEH,MAAM,IAAA,sBAAc,EAAC,SAAS,CAAC,CAAA;QAE/B,MAAM,eAAe,GAAG,IAAI,2BAAe,EAAE,CAAA;QAC7C,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CACpC,iCAAyB,CAAC,aAAa,CACxC,CAAA;QAED,MAAM,OAAO,GAAG,MAAM,IAAA,0BAAkB,EAAC,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,CAAA;QACvE,IAAA,0BAAkB,EAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAEzC,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC9C,IAAA,WAAI,EAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAC9B,CAAA;QACD,MAAM,IAAI,kBAAU,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAA;QAE7C;;WAEG;QACH,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;QACtC,MAAM,eAAe,CAAC,oBAAoB,CAAC;YACzC,WAAW,EAAE,OAAO;YACpB,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAA;QACF,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAC/C,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;QAElC,OAAO,CAAC,IAAI,EAAE,CAAA;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAC/C,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAW,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YACnE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC3B,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CACtC,CAAC,IAAY,EAAE,EAAE,CAAC,eAAe,IAAI,EAAE,CACxC,CAAA;YACD,MAAM,CAAC,KAAK,CAAC,uBAAuB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC/D,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QACpC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,CAAA;AAED,kBAAe,IAAI,CAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"run-scripts.d.ts","sourceRoot":"","sources":["../../../src/commands/db/run-scripts.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"run-scripts.d.ts","sourceRoot":"","sources":["../../../src/commands/db/run-scripts.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,eAAe,EAAiB,MAAM,iBAAiB,CAAA;AAMhE;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,SAAS,GACV,EAAE;IACD,SAAS,EAAE,MAAM,CAAA;CAClB,GAAG,OAAO,CAAC,OAAO,CAAC,CAyDnB;AAgCD,QAAA,MAAM,IAAI,mBAEP;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,eAAe,CAAA;CAC5B,mBAaA,CAAA;AAED,eAAe,IAAI,CAAA"}
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.runMigrationScripts = runMigrationScripts;
|
4
4
|
const framework_1 = require("@medusajs/framework");
|
5
5
|
const links_1 = require("@medusajs/framework/links");
|
6
|
-
const logger_1 = require("@medusajs/framework/logger");
|
7
6
|
const migrations_1 = require("@medusajs/framework/migrations");
|
8
7
|
const utils_1 = require("@medusajs/framework/utils");
|
9
8
|
const path_1 = require("path");
|
@@ -18,10 +17,10 @@ const TERMINAL_SIZE = process.stdout.columns;
|
|
18
17
|
async function runMigrationScripts({ directory, }) {
|
19
18
|
let onApplicationPrepareShutdown = async () => Promise.resolve();
|
20
19
|
let onApplicationShutdown = async () => Promise.resolve();
|
21
|
-
let container_;
|
22
20
|
let plugins;
|
21
|
+
const container_ = await (0, loaders_1.initializeContainer)(directory);
|
22
|
+
const logger = container_.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
|
23
23
|
try {
|
24
|
-
container_ = await (0, loaders_1.initializeContainer)(directory);
|
25
24
|
await (0, utils_2.ensureDbExists)(container_);
|
26
25
|
const configModule = container_.resolve(utils_1.ContainerRegistrationKeys.CONFIG_MODULE);
|
27
26
|
plugins = await (0, utils_1.getResolvedPlugins)(directory, configModule, true);
|
@@ -37,17 +36,17 @@ async function runMigrationScripts({ directory, }) {
|
|
37
36
|
await migrator.ensureMigrationsTable();
|
38
37
|
const pendingScripts = await migrator.getPendingMigrations(scriptsSourcePaths);
|
39
38
|
if (!pendingScripts?.length) {
|
40
|
-
|
39
|
+
logger.info("No pending migration scripts to execute");
|
41
40
|
return true;
|
42
41
|
}
|
43
42
|
console.log(new Array(TERMINAL_SIZE).join("-"));
|
44
|
-
|
45
|
-
|
43
|
+
logger.info("Pending migration scripts to execute");
|
44
|
+
logger.info(`${pendingScripts.join("\n")}`);
|
46
45
|
console.log(new Array(TERMINAL_SIZE).join("-"));
|
47
|
-
|
46
|
+
logger.info("Running migration scripts...");
|
48
47
|
await migrator.run(scriptsSourcePaths);
|
49
48
|
console.log(new Array(TERMINAL_SIZE).join("-"));
|
50
|
-
|
49
|
+
logger.info("Migration scripts completed");
|
51
50
|
return true;
|
52
51
|
}
|
53
52
|
finally {
|
@@ -75,6 +74,8 @@ async function loadResources(plugins) {
|
|
75
74
|
};
|
76
75
|
}
|
77
76
|
const main = async function ({ directory, }) {
|
77
|
+
const config = await (0, framework_1.configLoader)(directory, "medusa-config");
|
78
|
+
const logger = config.logger;
|
78
79
|
try {
|
79
80
|
const migrated = await runMigrationScripts({
|
80
81
|
directory,
|
@@ -82,7 +83,7 @@ const main = async function ({ directory, }) {
|
|
82
83
|
process.exit(migrated ? 0 : 1);
|
83
84
|
}
|
84
85
|
catch (error) {
|
85
|
-
|
86
|
+
logger.error(error);
|
86
87
|
process.exit(1);
|
87
88
|
}
|
88
89
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"run-scripts.js","sourceRoot":"","sources":["../../../src/commands/db/run-scripts.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"run-scripts.js","sourceRoot":"","sources":["../../../src/commands/db/run-scripts.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/commands/db/setup.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,IAAI;;;;;;;;
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/commands/db/setup.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,IAAI;;;;;;;;oBAkCT,CAAA;AAED,eAAe,IAAI,CAAA"}
|
@@ -1,9 +1,11 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
const
|
3
|
+
const config_1 = require("@medusajs/framework/config");
|
4
4
|
const create_1 = require("./create");
|
5
5
|
const migrate_1 = require("./migrate");
|
6
6
|
const main = async function ({ directory, interactive, db, skipLinks, skipScripts, executeAllLinks, executeSafeLinks, }) {
|
7
|
+
const config = await (0, config_1.configLoader)(directory, "medusa-config");
|
8
|
+
const logger = config.logger;
|
7
9
|
try {
|
8
10
|
const created = await (0, create_1.dbCreate)({ directory, interactive, db });
|
9
11
|
if (!created) {
|
@@ -22,7 +24,7 @@ const main = async function ({ directory, interactive, db, skipLinks, skipScript
|
|
22
24
|
if (error.name === "ExitPromptError") {
|
23
25
|
process.exit();
|
24
26
|
}
|
25
|
-
|
27
|
+
logger.error(error);
|
26
28
|
process.exit(1);
|
27
29
|
}
|
28
30
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/commands/db/setup.ts"],"names":[],"mappings":";;AAAA,
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/commands/db/setup.ts"],"names":[],"mappings":";;AAAA,uDAAyD;AACzD,qCAAmC;AACnC,uCAAmC;AAEnC,MAAM,IAAI,GAAG,KAAK,WAAW,EAC3B,SAAS,EACT,WAAW,EACX,EAAE,EACF,SAAS,EACT,WAAW,EACX,eAAe,EACf,gBAAgB,GACjB;IACC,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAY,EAAC,SAAS,EAAE,eAAe,CAAC,CAAA;IAC7D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAO,CAAA;IAE7B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAA,iBAAQ,EAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAA;QAC9D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAA,iBAAO,EAAC;YAC7B,SAAS;YACT,SAAS;YACT,WAAW;YACX,eAAe;YACf,gBAAgB;SACjB,CAAC,CAAA;QAEF,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,EAAE,CAAA;QAChB,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,CAAA;AAED,kBAAe,IAAI,CAAA"}
|
@@ -3,9 +3,10 @@ import { MedusaAppLoader } from "@medusajs/framework";
|
|
3
3
|
* Low-level utility to sync links. This utility is used
|
4
4
|
* by the migrate command as-well.
|
5
5
|
*/
|
6
|
-
export declare function syncLinks(medusaAppLoader: MedusaAppLoader, { executeAll, executeSafe, }: {
|
6
|
+
export declare function syncLinks(medusaAppLoader: MedusaAppLoader, { executeAll, executeSafe, directory, }: {
|
7
7
|
executeSafe: boolean;
|
8
8
|
executeAll: boolean;
|
9
|
+
directory: string;
|
9
10
|
}): Promise<void>;
|
10
11
|
declare const main: ({ directory, executeSafe, executeAll }: {
|
11
12
|
directory: any;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sync-links.d.ts","sourceRoot":"","sources":["../../../src/commands/db/sync-links.ts"],"names":[],"mappings":"AACA,OAAO,
|
1
|
+
{"version":3,"file":"sync-links.d.ts","sourceRoot":"","sources":["../../../src/commands/db/sync-links.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAwFnE;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,eAAe,EAAE,eAAe,EAChC,EACE,UAAU,EACV,WAAW,EACX,SAAS,GACV,EAAE;IACD,WAAW,EAAE,OAAO,CAAA;IACpB,UAAU,EAAE,OAAO,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB,iBAoFF;AAED,QAAA,MAAM,IAAI;;;;oBA2BT,CAAA;AAED,eAAe,IAAI,CAAA"}
|
@@ -7,7 +7,6 @@ exports.syncLinks = syncLinks;
|
|
7
7
|
const checkbox_1 = __importDefault(require("@inquirer/checkbox"));
|
8
8
|
const framework_1 = require("@medusajs/framework");
|
9
9
|
const links_1 = require("@medusajs/framework/links");
|
10
|
-
const logger_1 = require("@medusajs/framework/logger");
|
11
10
|
const utils_1 = require("@medusajs/framework/utils");
|
12
11
|
const boxen_1 = __importDefault(require("boxen"));
|
13
12
|
const chalk_1 = __importDefault(require("chalk"));
|
@@ -42,18 +41,18 @@ function buildLinkDescription(action) {
|
|
42
41
|
* Logs the actions of a given action type with a nice border and
|
43
42
|
* a title
|
44
43
|
*/
|
45
|
-
function logActions(title, actionsOrContext) {
|
44
|
+
function logActions(title, actionsOrContext, logger) {
|
46
45
|
const actionsList = actionsOrContext
|
47
46
|
.map((action) => ` - ${buildLinkDescription(action)}`)
|
48
47
|
.join("\n");
|
49
|
-
|
48
|
+
logger.info((0, boxen_1.default)(`${title}\n${actionsList}`, { padding: 1 }));
|
50
49
|
}
|
51
50
|
/**
|
52
51
|
* Displays a prompt to select tables that must be impacted with
|
53
52
|
* action
|
54
53
|
*/
|
55
|
-
async function askForLinkActionsToPerform(message, actions) {
|
56
|
-
|
54
|
+
async function askForLinkActionsToPerform(message, actions, logger) {
|
55
|
+
logger.info((0, boxen_1.default)(message, { borderColor: "red", padding: 1 }));
|
57
56
|
return await (0, checkbox_1.default)({
|
58
57
|
message: "Select tables to act upon",
|
59
58
|
instructions: chalk_1.default.dim(" <space> select, <a> select all, <i> inverse, <enter> submit"),
|
@@ -70,9 +69,11 @@ async function askForLinkActionsToPerform(message, actions) {
|
|
70
69
|
* Low-level utility to sync links. This utility is used
|
71
70
|
* by the migrate command as-well.
|
72
71
|
*/
|
73
|
-
async function syncLinks(medusaAppLoader, { executeAll, executeSafe, }) {
|
72
|
+
async function syncLinks(medusaAppLoader, { executeAll, executeSafe, directory, }) {
|
73
|
+
const config = await (0, framework_1.configLoader)(directory, "medusa-config");
|
74
|
+
const logger = config.logger;
|
74
75
|
const planner = await medusaAppLoader.getLinksExecutionPlanner();
|
75
|
-
|
76
|
+
logger.info("Syncing links...");
|
76
77
|
const actionPlan = await planner.createPlan();
|
77
78
|
const groupActionPlan = groupByActionPlan(actionPlan);
|
78
79
|
if (groupActionPlan.delete?.length) {
|
@@ -85,7 +86,7 @@ async function syncLinks(medusaAppLoader, { executeAll, executeSafe, }) {
|
|
85
86
|
groupActionPlan.delete = [];
|
86
87
|
}
|
87
88
|
else if (!executeAll) {
|
88
|
-
groupActionPlan.delete = await askForLinkActionsToPerform(`Select the tables to ${chalk_1.default.red("DELETE")}. The following links have been removed`, groupActionPlan.delete);
|
89
|
+
groupActionPlan.delete = await askForLinkActionsToPerform(`Select the tables to ${chalk_1.default.red("DELETE")}. The following links have been removed`, groupActionPlan.delete, logger);
|
89
90
|
}
|
90
91
|
}
|
91
92
|
if (groupActionPlan.notify?.length) {
|
@@ -99,7 +100,7 @@ async function syncLinks(medusaAppLoader, { executeAll, executeSafe, }) {
|
|
99
100
|
answer = [];
|
100
101
|
}
|
101
102
|
else if (!executeAll) {
|
102
|
-
answer = await askForLinkActionsToPerform(`Select the tables to ${chalk_1.default.red("UPDATE")}. The following links have been updated`, groupActionPlan.notify);
|
103
|
+
answer = await askForLinkActionsToPerform(`Select the tables to ${chalk_1.default.red("UPDATE")}. The following links have been updated`, groupActionPlan.notify, logger);
|
103
104
|
}
|
104
105
|
groupActionPlan.update ??= [];
|
105
106
|
groupActionPlan.update.push(...answer.map((action) => {
|
@@ -115,24 +116,25 @@ async function syncLinks(medusaAppLoader, { executeAll, executeSafe, }) {
|
|
115
116
|
const actionsToExecute = [...toCreate, ...toUpdate, ...toDelete];
|
116
117
|
await planner.executePlan(actionsToExecute);
|
117
118
|
if (toCreate.length) {
|
118
|
-
logActions("Created following links tables", toCreate);
|
119
|
+
logActions("Created following links tables", toCreate, logger);
|
119
120
|
}
|
120
121
|
if (toUpdate.length) {
|
121
|
-
logActions("Updated following links tables", toUpdate);
|
122
|
+
logActions("Updated following links tables", toUpdate, logger);
|
122
123
|
}
|
123
124
|
if (toDelete.length) {
|
124
|
-
logActions("Deleted following links tables", toDelete);
|
125
|
+
logActions("Deleted following links tables", toDelete, logger);
|
125
126
|
}
|
126
127
|
if (actionsToExecute.length) {
|
127
|
-
|
128
|
+
logger.info("Links sync completed");
|
128
129
|
}
|
129
130
|
else {
|
130
|
-
|
131
|
+
logger.info("Database already up-to-date");
|
131
132
|
}
|
132
133
|
}
|
133
134
|
const main = async function ({ directory, executeSafe, executeAll }) {
|
135
|
+
const container = await (0, loaders_1.initializeContainer)(directory);
|
136
|
+
const logger = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
|
134
137
|
try {
|
135
|
-
const container = await (0, loaders_1.initializeContainer)(directory);
|
136
138
|
await (0, utils_2.ensureDbExists)(container);
|
137
139
|
const configModule = container.resolve(utils_1.ContainerRegistrationKeys.CONFIG_MODULE);
|
138
140
|
const medusaAppLoader = new framework_1.MedusaAppLoader();
|
@@ -140,11 +142,11 @@ const main = async function ({ directory, executeSafe, executeAll }) {
|
|
140
142
|
(0, utils_1.mergePluginModules)(configModule, plugins);
|
141
143
|
const linksSourcePaths = plugins.map((plugin) => (0, path_1.join)(plugin.resolve, "links"));
|
142
144
|
await new links_1.LinkLoader(linksSourcePaths).load();
|
143
|
-
await syncLinks(medusaAppLoader, { executeAll, executeSafe });
|
145
|
+
await syncLinks(medusaAppLoader, { executeAll, executeSafe, directory });
|
144
146
|
process.exit();
|
145
147
|
}
|
146
148
|
catch (error) {
|
147
|
-
|
149
|
+
logger.error(error);
|
148
150
|
process.exit(1);
|
149
151
|
}
|
150
152
|
};
|