@mdfriday/foundry 26.3.8 → 26.3.9
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/cli.js +152 -113
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/internal/application/container.d.ts +9 -0
- package/dist/internal/application/index.d.ts +4 -0
- package/dist/internal/application/publish.d.ts +8 -9
- package/dist/internal/interfaces/cli/commands/publish.d.ts +1 -11
- package/dist/internal/interfaces/cli/container.d.ts +1 -7
- package/dist/internal/interfaces/cli/types.d.ts +0 -2
- package/dist/internal/interfaces/obsidian/auth.d.ts +5 -5
- package/dist/internal/interfaces/obsidian/container.d.ts +4 -4
- package/dist/internal/interfaces/obsidian/domain.d.ts +5 -5
- package/dist/internal/interfaces/obsidian/index.d.ts +3 -1
- package/dist/internal/interfaces/obsidian/license.d.ts +5 -7
- package/dist/internal/interfaces/obsidian/publish.d.ts +3 -2
- package/dist/internal/interfaces/obsidian/serve.d.ts +4 -4
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -9173,20 +9173,15 @@ var init_publish2 = __esm({
|
|
|
9173
9173
|
}
|
|
9174
9174
|
/**
|
|
9175
9175
|
* Publish project to specified platform
|
|
9176
|
+
*
|
|
9177
|
+
* @param project - 项目实例
|
|
9178
|
+
* @param config - 已合并的发布配置(由调用方准备)
|
|
9179
|
+
* @param options - 发布选项
|
|
9180
|
+
* @param onProgress - 进度回调
|
|
9176
9181
|
*/
|
|
9177
|
-
async publish(project,
|
|
9178
|
-
log17.info(`Publishing project: ${project.getName()} to ${
|
|
9182
|
+
async publish(project, config, options, onProgress) {
|
|
9183
|
+
log17.info(`Publishing project: ${project.getName()} to ${config.type}`);
|
|
9179
9184
|
try {
|
|
9180
|
-
const workspace = await this.workspaceService.loadWorkspace();
|
|
9181
|
-
const globalConfig = await workspace.getAllConfig();
|
|
9182
|
-
const publishConfig = WorkspacePublishConfig.fromGlobalConfig(globalConfig);
|
|
9183
|
-
let config;
|
|
9184
|
-
if (options?.config) {
|
|
9185
|
-
const mergedConfig = publishConfig.merge(options.config, method);
|
|
9186
|
-
config = await this.getMethodConfig(mergedConfig, method);
|
|
9187
|
-
} else {
|
|
9188
|
-
config = await this.getMethodConfig(publishConfig, method);
|
|
9189
|
-
}
|
|
9190
9185
|
const publicDir = await project.getPublishDir();
|
|
9191
9186
|
const publisher = this.publisherFactory.create(
|
|
9192
9187
|
project.getId(),
|
|
@@ -9205,27 +9200,59 @@ var init_publish2 = __esm({
|
|
|
9205
9200
|
const result = await publisher.publish(publicDir, publishOptions);
|
|
9206
9201
|
return result;
|
|
9207
9202
|
} catch (error) {
|
|
9208
|
-
log17.error(`Publish failed: ${
|
|
9203
|
+
log17.error(`Publish failed: ${config.type}`, error);
|
|
9209
9204
|
throw error;
|
|
9210
9205
|
}
|
|
9211
9206
|
}
|
|
9212
9207
|
/**
|
|
9213
9208
|
* Test connection
|
|
9209
|
+
*
|
|
9210
|
+
* @param project - 项目实例
|
|
9211
|
+
* @param config - 已合并的发布配置(由调用方准备)
|
|
9214
9212
|
*/
|
|
9215
|
-
async testConnection(project,
|
|
9216
|
-
|
|
9213
|
+
async testConnection(project, config) {
|
|
9214
|
+
log17.info(`Testing ${config.type} connection for project: ${project.getName()}`);
|
|
9215
|
+
try {
|
|
9216
|
+
const publisher = this.publisherFactory.create(
|
|
9217
|
+
project.getId(),
|
|
9218
|
+
project.getPath(),
|
|
9219
|
+
config
|
|
9220
|
+
);
|
|
9221
|
+
if (publisher.testConnection) {
|
|
9222
|
+
return await publisher.testConnection();
|
|
9223
|
+
}
|
|
9224
|
+
return { success: true };
|
|
9225
|
+
} catch (error) {
|
|
9226
|
+
log17.error(`Test connection failed: ${config.type}`, error);
|
|
9227
|
+
return {
|
|
9228
|
+
success: false,
|
|
9229
|
+
error: error.message
|
|
9230
|
+
};
|
|
9231
|
+
}
|
|
9232
|
+
}
|
|
9233
|
+
/**
|
|
9234
|
+
* 准备最终的发布配置
|
|
9235
|
+
*
|
|
9236
|
+
* 配置查找优先级(两级):
|
|
9237
|
+
* 1. 项目配置 (project.config.publish)
|
|
9238
|
+
* 2. 全局配置 (workspace global config)
|
|
9239
|
+
*
|
|
9240
|
+
* @param workspace - Workspace 实例
|
|
9241
|
+
* @param project - Project 实例
|
|
9242
|
+
* @param method - 发布方法
|
|
9243
|
+
* @returns 最终的发布配置
|
|
9244
|
+
*/
|
|
9245
|
+
async prepareFinalConfig(workspace, project, method) {
|
|
9217
9246
|
const globalConfig = await workspace.getAllConfig();
|
|
9218
|
-
|
|
9219
|
-
|
|
9220
|
-
const
|
|
9221
|
-
|
|
9222
|
-
|
|
9223
|
-
|
|
9224
|
-
|
|
9225
|
-
if (publisher.testConnection) {
|
|
9226
|
-
return await publisher.testConnection();
|
|
9247
|
+
let publishConfig = WorkspacePublishConfig.fromGlobalConfig(globalConfig);
|
|
9248
|
+
await project.loadConfig();
|
|
9249
|
+
const projectConfig = project.getConfig();
|
|
9250
|
+
if (projectConfig?.publish) {
|
|
9251
|
+
log17.debug("Merging project publish config");
|
|
9252
|
+
const projectPublishData = projectConfig.publish;
|
|
9253
|
+
publishConfig = publishConfig.merge(projectPublishData, method);
|
|
9227
9254
|
}
|
|
9228
|
-
return
|
|
9255
|
+
return this.getMethodConfig(publishConfig, method, workspace);
|
|
9229
9256
|
}
|
|
9230
9257
|
// ============================================================================
|
|
9231
9258
|
// Private Methods
|
|
@@ -9233,7 +9260,7 @@ var init_publish2 = __esm({
|
|
|
9233
9260
|
/**
|
|
9234
9261
|
* Get method-specific config from WorkspacePublishConfig
|
|
9235
9262
|
*/
|
|
9236
|
-
async getMethodConfig(publishConfig, method) {
|
|
9263
|
+
async getMethodConfig(publishConfig, method, workspace) {
|
|
9237
9264
|
switch (method) {
|
|
9238
9265
|
case "ftp":
|
|
9239
9266
|
const ftpConfig = publishConfig.getFTPConfig();
|
|
@@ -9267,15 +9294,14 @@ var init_publish2 = __esm({
|
|
|
9267
9294
|
const licenseKey = mdConfig.licenseKey || "";
|
|
9268
9295
|
if (!licenseKey) {
|
|
9269
9296
|
throw new Error(
|
|
9270
|
-
"\u274C MDFriday license key is required for publishing.\n\nDifferent licenses deploy to different servers.\nYou must explicitly configure
|
|
9297
|
+
"\u274C MDFriday license key is required for publishing.\n\nDifferent licenses deploy to different servers.\nYou must explicitly configure a license key:\n\nConfigure license globally (recommended):\n mdf config:set publish.mdfriday.licenseKey MDF-XXXX-XXXX-XXXX --global\n\nOr configure for project only:\n mdf config:set publish.mdfriday.licenseKey MDF-XXXX-XXXX-XXXX\n\n\u{1F4A1} Note: License login (mdf license:login) only gets TOKEN.\n Publishing requires explicitly setting a license key."
|
|
9271
9298
|
);
|
|
9272
9299
|
}
|
|
9273
|
-
const workspace = await this.workspaceService.loadWorkspace();
|
|
9274
9300
|
const { createIdentityService: createIdentityService2 } = await Promise.resolve().then(() => (init_container(), container_exports));
|
|
9275
9301
|
let accessToken = null;
|
|
9276
9302
|
let apiUrl = "https://app.mdfriday.com";
|
|
9277
9303
|
try {
|
|
9278
|
-
const identityService = await createIdentityService2();
|
|
9304
|
+
const identityService = await createIdentityService2(workspace.getInfo().path);
|
|
9279
9305
|
await identityService.initialize();
|
|
9280
9306
|
accessToken = identityService.getToken();
|
|
9281
9307
|
const serverConfig = identityService.getServerConfig();
|
|
@@ -9288,33 +9314,30 @@ var init_publish2 = __esm({
|
|
|
9288
9314
|
}
|
|
9289
9315
|
if (!accessToken) {
|
|
9290
9316
|
throw new Error(
|
|
9291
|
-
"\u274C
|
|
9317
|
+
"\u274C Not authenticated.\n\nPlease login first:\n mdf auth:login\n\nOr use license login:\n mdf license:login --key YOUR-LICENSE-KEY"
|
|
9292
9318
|
);
|
|
9293
9319
|
}
|
|
9294
9320
|
return {
|
|
9295
9321
|
type: "mdfriday",
|
|
9296
|
-
deploymentType: mdConfig.type || "share",
|
|
9297
|
-
// Already merged with CLI override
|
|
9298
9322
|
licenseKey,
|
|
9299
|
-
// Required, from merged config
|
|
9300
|
-
enabled: mdConfig.enabled,
|
|
9301
9323
|
accessToken,
|
|
9302
|
-
|
|
9303
|
-
|
|
9304
|
-
|
|
9324
|
+
apiUrl,
|
|
9325
|
+
deploymentType: mdConfig.type || "share",
|
|
9326
|
+
enabled: true
|
|
9305
9327
|
};
|
|
9306
9328
|
default:
|
|
9307
|
-
throw new Error(`
|
|
9329
|
+
throw new Error(`Unsupported publish method: ${method}`);
|
|
9308
9330
|
}
|
|
9309
9331
|
}
|
|
9310
9332
|
};
|
|
9311
9333
|
}
|
|
9312
9334
|
});
|
|
9313
9335
|
|
|
9314
|
-
// internal/
|
|
9336
|
+
// internal/application/container.ts
|
|
9315
9337
|
var container_exports = {};
|
|
9316
9338
|
__export(container_exports, {
|
|
9317
9339
|
createIdentityService: () => createIdentityService,
|
|
9340
|
+
createIdentityServiceForObsidian: () => createIdentityServiceForObsidian,
|
|
9318
9341
|
createPublishAppService: () => createPublishAppService,
|
|
9319
9342
|
createWorkspaceAppService: () => createWorkspaceAppService,
|
|
9320
9343
|
createWorkspaceFactory: () => createWorkspaceFactory
|
|
@@ -9334,19 +9357,30 @@ function createWorkspaceAppService() {
|
|
|
9334
9357
|
workspaceFactory
|
|
9335
9358
|
});
|
|
9336
9359
|
}
|
|
9337
|
-
async function createIdentityService(
|
|
9360
|
+
async function createIdentityService(workspacePath) {
|
|
9338
9361
|
const httpClient = new NodeHttpClient();
|
|
9339
9362
|
const workspaceAppService = createWorkspaceAppService();
|
|
9340
|
-
const workspace = await workspaceAppService.loadWorkspace(
|
|
9363
|
+
const workspace = await workspaceAppService.loadWorkspace(workspacePath);
|
|
9341
9364
|
const storageProvider = workspaceAppService.createIdentityStorage(workspace);
|
|
9342
9365
|
const userFactory = new UserFactory({
|
|
9343
9366
|
httpClient,
|
|
9344
9367
|
storageProvider
|
|
9345
9368
|
});
|
|
9346
|
-
|
|
9369
|
+
return new IdentityAppService({
|
|
9370
|
+
userFactory
|
|
9371
|
+
});
|
|
9372
|
+
}
|
|
9373
|
+
async function createIdentityServiceForObsidian(workspacePath, httpClient) {
|
|
9374
|
+
const workspaceAppService = createWorkspaceAppService();
|
|
9375
|
+
const workspace = await workspaceAppService.loadWorkspace(workspacePath);
|
|
9376
|
+
const storageProvider = workspaceAppService.createIdentityStorage(workspace);
|
|
9377
|
+
const userFactory = new UserFactory({
|
|
9378
|
+
httpClient,
|
|
9379
|
+
storageProvider
|
|
9380
|
+
});
|
|
9381
|
+
return new IdentityAppService({
|
|
9347
9382
|
userFactory
|
|
9348
9383
|
});
|
|
9349
|
-
return identityAppService;
|
|
9350
9384
|
}
|
|
9351
9385
|
function createPublishAppService() {
|
|
9352
9386
|
const { PublishAppService: PublishAppService2 } = (init_publish2(), __toCommonJS(publish_exports2));
|
|
@@ -9362,7 +9396,7 @@ function createPublishAppService() {
|
|
|
9362
9396
|
);
|
|
9363
9397
|
}
|
|
9364
9398
|
var init_container = __esm({
|
|
9365
|
-
"internal/
|
|
9399
|
+
"internal/application/container.ts"() {
|
|
9366
9400
|
"use strict";
|
|
9367
9401
|
init_workspace2();
|
|
9368
9402
|
init_workspace3();
|
|
@@ -9372,6 +9406,22 @@ var init_container = __esm({
|
|
|
9372
9406
|
}
|
|
9373
9407
|
});
|
|
9374
9408
|
|
|
9409
|
+
// internal/interfaces/cli/container.ts
|
|
9410
|
+
var container_exports2 = {};
|
|
9411
|
+
__export(container_exports2, {
|
|
9412
|
+
createIdentityService: () => createIdentityService,
|
|
9413
|
+
createIdentityServiceForObsidian: () => createIdentityServiceForObsidian,
|
|
9414
|
+
createPublishAppService: () => createPublishAppService,
|
|
9415
|
+
createWorkspaceAppService: () => createWorkspaceAppService,
|
|
9416
|
+
createWorkspaceFactory: () => createWorkspaceFactory
|
|
9417
|
+
});
|
|
9418
|
+
var init_container2 = __esm({
|
|
9419
|
+
"internal/interfaces/cli/container.ts"() {
|
|
9420
|
+
"use strict";
|
|
9421
|
+
init_container();
|
|
9422
|
+
}
|
|
9423
|
+
});
|
|
9424
|
+
|
|
9375
9425
|
// internal/domain/config/type.ts
|
|
9376
9426
|
var ConfigError, ErrConfigNotFound, ErrInvalidConfig, ErrWorkspaceNotFound, ErrConfigFileNotFound, ErrInvalidConfigFormat;
|
|
9377
9427
|
var init_type4 = __esm({
|
|
@@ -50558,7 +50608,7 @@ __export(cli_exports, {
|
|
|
50558
50608
|
module.exports = __toCommonJS(cli_exports);
|
|
50559
50609
|
|
|
50560
50610
|
// internal/interfaces/cli/router.ts
|
|
50561
|
-
|
|
50611
|
+
init_container2();
|
|
50562
50612
|
|
|
50563
50613
|
// internal/interfaces/cli/commands/workspace.ts
|
|
50564
50614
|
init_log();
|
|
@@ -52870,17 +52920,7 @@ var ServeCommand = class {
|
|
|
52870
52920
|
},
|
|
52871
52921
|
onSuccess: async () => {
|
|
52872
52922
|
if (options.publish && this.publishAppService) {
|
|
52873
|
-
|
|
52874
|
-
if (options.type)
|
|
52875
|
-
publishOptions.type = options.type;
|
|
52876
|
-
if (options.licenseKey)
|
|
52877
|
-
publishOptions.licenseKey = options.licenseKey;
|
|
52878
|
-
await this.autoPublish(
|
|
52879
|
-
project,
|
|
52880
|
-
options.publish,
|
|
52881
|
-
options.publishDelay,
|
|
52882
|
-
publishOptions
|
|
52883
|
-
);
|
|
52923
|
+
await this.autoPublish(workspace, project, options.publish, options.publishDelay);
|
|
52884
52924
|
}
|
|
52885
52925
|
}
|
|
52886
52926
|
};
|
|
@@ -52980,7 +53020,7 @@ Press Ctrl+C to stop`,
|
|
|
52980
53020
|
/**
|
|
52981
53021
|
* 自动发布(带防抖)
|
|
52982
53022
|
*/
|
|
52983
|
-
async autoPublish(project, method, delayMs
|
|
53023
|
+
async autoPublish(workspace, project, method, delayMs) {
|
|
52984
53024
|
if (this.publishTimer) {
|
|
52985
53025
|
clearTimeout(this.publishTimer);
|
|
52986
53026
|
}
|
|
@@ -52995,17 +53035,11 @@ Press Ctrl+C to stop`,
|
|
|
52995
53035
|
clearOnComplete: true
|
|
52996
53036
|
});
|
|
52997
53037
|
const startTime = Date.now();
|
|
52998
|
-
const
|
|
52999
|
-
if (options && (options.type || options.licenseKey)) {
|
|
53000
|
-
publishOptions.config = {
|
|
53001
|
-
type: options.type,
|
|
53002
|
-
licenseKey: options.licenseKey
|
|
53003
|
-
};
|
|
53004
|
-
}
|
|
53038
|
+
const config = await this.publishAppService.prepareFinalConfig(workspace, project, method);
|
|
53005
53039
|
const result = await this.publishAppService.publish(
|
|
53006
53040
|
project,
|
|
53007
|
-
|
|
53008
|
-
|
|
53041
|
+
config,
|
|
53042
|
+
{ incremental: true },
|
|
53009
53043
|
(progress) => {
|
|
53010
53044
|
progressBar.update(progress.percentage, progress.message);
|
|
53011
53045
|
}
|
|
@@ -53186,7 +53220,7 @@ var SnapshotDeleteCommand = class {
|
|
|
53186
53220
|
};
|
|
53187
53221
|
|
|
53188
53222
|
// internal/interfaces/cli/commands/auth.ts
|
|
53189
|
-
|
|
53223
|
+
init_container2();
|
|
53190
53224
|
init_log();
|
|
53191
53225
|
var log90 = getDomainLogger("auth-command", { component: "cli" });
|
|
53192
53226
|
async function getIdentityService() {
|
|
@@ -54335,18 +54369,22 @@ var PublishCommand = class {
|
|
|
54335
54369
|
description = "Publish project to hosting platform";
|
|
54336
54370
|
async execute(args, options) {
|
|
54337
54371
|
try {
|
|
54338
|
-
const
|
|
54372
|
+
const subcommand = args[0];
|
|
54373
|
+
if (subcommand === "test") {
|
|
54374
|
+
return await this.executeTest(args.slice(1), options);
|
|
54375
|
+
}
|
|
54376
|
+
const method = subcommand;
|
|
54339
54377
|
if (!method || !["ftp", "netlify", "mdfriday"].includes(method)) {
|
|
54340
54378
|
return {
|
|
54341
54379
|
success: false,
|
|
54342
|
-
message: "Please specify publish method: ftp, netlify, or mdfriday\n\nUsage:\n mdf publish ftp [options]\n mdf publish netlify [options]\n mdf publish mdfriday [options]\n\nOptions:\n --project <name> Project to publish\n --force Force full publish (ignore incremental)\n --verbose Show detailed progress\n\
|
|
54380
|
+
message: "Please specify publish method: ftp, netlify, or mdfriday\n\nUsage:\n mdf publish ftp [options]\n mdf publish netlify [options]\n mdf publish mdfriday [options]\n mdf publish test <method>\n\nOptions:\n --project <name> Project to publish\n --force Force full publish (ignore incremental)\n --verbose Show detailed progress\n\nConfiguration:\n All publish settings are configured via config command:\n mdf config:set publish.<method>.<key> <value> --global\n mdf config:set publish.<method>.<key> <value> (project-level)\n\nExamples:\n mdf publish ftp\n mdf publish ftp --project my-blog --force\n mdf publish test ftp"
|
|
54343
54381
|
};
|
|
54344
54382
|
}
|
|
54345
54383
|
const { workspace, project } = await this.workspaceAppService.loadWorkspaceAndProject(
|
|
54346
54384
|
options.project
|
|
54347
54385
|
);
|
|
54348
54386
|
log92.info(`Publishing project: ${project.getName()} to ${method}`);
|
|
54349
|
-
const
|
|
54387
|
+
const config = await this.publishService.prepareFinalConfig(workspace, project, method);
|
|
54350
54388
|
const progressBar = new ProgressBar({
|
|
54351
54389
|
width: 30,
|
|
54352
54390
|
showPercentage: true,
|
|
@@ -54354,17 +54392,10 @@ var PublishCommand = class {
|
|
|
54354
54392
|
clearOnComplete: true
|
|
54355
54393
|
});
|
|
54356
54394
|
const startTime = Date.now();
|
|
54357
|
-
const appPublishOptions = {};
|
|
54358
|
-
if (options.force) {
|
|
54359
|
-
appPublishOptions.force = true;
|
|
54360
|
-
}
|
|
54361
|
-
if (configOverride) {
|
|
54362
|
-
appPublishOptions.config = configOverride;
|
|
54363
|
-
}
|
|
54364
54395
|
const result = await this.publishService.publish(
|
|
54365
54396
|
project,
|
|
54366
|
-
|
|
54367
|
-
|
|
54397
|
+
config,
|
|
54398
|
+
options.force ? { force: true } : {},
|
|
54368
54399
|
(progress) => {
|
|
54369
54400
|
if (options.verbose) {
|
|
54370
54401
|
console.log(
|
|
@@ -54424,40 +54455,48 @@ var PublishCommand = class {
|
|
|
54424
54455
|
}
|
|
54425
54456
|
}
|
|
54426
54457
|
/**
|
|
54427
|
-
*
|
|
54458
|
+
* Execute test connection command
|
|
54428
54459
|
*/
|
|
54429
|
-
|
|
54430
|
-
|
|
54431
|
-
|
|
54432
|
-
|
|
54433
|
-
|
|
54434
|
-
|
|
54435
|
-
|
|
54436
|
-
|
|
54437
|
-
|
|
54438
|
-
|
|
54439
|
-
|
|
54440
|
-
|
|
54441
|
-
|
|
54442
|
-
|
|
54443
|
-
|
|
54444
|
-
|
|
54445
|
-
|
|
54446
|
-
|
|
54447
|
-
|
|
54448
|
-
|
|
54449
|
-
|
|
54450
|
-
|
|
54451
|
-
|
|
54452
|
-
|
|
54453
|
-
|
|
54454
|
-
|
|
54455
|
-
|
|
54456
|
-
|
|
54457
|
-
|
|
54458
|
-
|
|
54460
|
+
async executeTest(args, options) {
|
|
54461
|
+
try {
|
|
54462
|
+
const method = args[0];
|
|
54463
|
+
if (!method || !["ftp", "netlify", "mdfriday"].includes(method)) {
|
|
54464
|
+
return {
|
|
54465
|
+
success: false,
|
|
54466
|
+
message: "Please specify publish method to test: ftp, netlify, or mdfriday\n\nUsage:\n mdf publish test ftp\n mdf publish test netlify\n mdf publish test mdfriday\n\nOptions:\n --project <name> Project to test (optional)\n\nConfiguration:\n All publish settings are configured via config command:\n mdf config:set publish.<method>.<key> <value> --global\n mdf config:set publish.<method>.<key> <value> (project-level)\n\nExamples:\n mdf publish test ftp\n mdf publish test netlify"
|
|
54467
|
+
};
|
|
54468
|
+
}
|
|
54469
|
+
const { workspace, project } = await this.workspaceAppService.loadWorkspaceAndProject(
|
|
54470
|
+
options.project
|
|
54471
|
+
);
|
|
54472
|
+
log92.info(`Testing ${method} connection for project: ${project.getName()}`);
|
|
54473
|
+
const config = await this.publishService.prepareFinalConfig(workspace, project, method);
|
|
54474
|
+
console.log(`
|
|
54475
|
+
Testing ${method.toUpperCase()} connection...`);
|
|
54476
|
+
console.log("Configuration priority: Project config > Global config\n");
|
|
54477
|
+
const result = await this.publishService.testConnection(project, config);
|
|
54478
|
+
if (result.success) {
|
|
54479
|
+
return {
|
|
54480
|
+
success: true,
|
|
54481
|
+
message: `
|
|
54482
|
+
\u2713 ${method.toUpperCase()} connection test passed!`
|
|
54483
|
+
};
|
|
54484
|
+
} else {
|
|
54485
|
+
return {
|
|
54486
|
+
success: false,
|
|
54487
|
+
message: `
|
|
54488
|
+
\u2717 ${method.toUpperCase()} connection test failed: ${result.error}`,
|
|
54489
|
+
error: new Error(result.error)
|
|
54490
|
+
};
|
|
54491
|
+
}
|
|
54492
|
+
} catch (error) {
|
|
54493
|
+
log92.error("Test connection command failed", error);
|
|
54494
|
+
return {
|
|
54495
|
+
success: false,
|
|
54496
|
+
message: `Test connection failed: ${error.message}`,
|
|
54497
|
+
error
|
|
54498
|
+
};
|
|
54459
54499
|
}
|
|
54460
|
-
return void 0;
|
|
54461
54500
|
}
|
|
54462
54501
|
};
|
|
54463
54502
|
|
|
@@ -54480,7 +54519,7 @@ var CommandRegistry = class {
|
|
|
54480
54519
|
this.register(new ProjectShowCommand(workspaceAppService));
|
|
54481
54520
|
this.register(new ProjectDeleteCommand(workspaceAppService));
|
|
54482
54521
|
this.register(new BuildCommand(workspaceAppService));
|
|
54483
|
-
const { createPublishAppService: createPublishAppService2 } = (
|
|
54522
|
+
const { createPublishAppService: createPublishAppService2 } = (init_container2(), __toCommonJS(container_exports2));
|
|
54484
54523
|
const publishAppService = createPublishAppService2();
|
|
54485
54524
|
this.register(new PublishCommand(publishAppService, workspaceAppService));
|
|
54486
54525
|
this.register(new ServeCommand(workspaceAppService, publishAppService));
|
|
@@ -54832,7 +54871,7 @@ For more information, visit: https://help.mdfriday.com
|
|
|
54832
54871
|
* Show version
|
|
54833
54872
|
*/
|
|
54834
54873
|
showVersion() {
|
|
54835
|
-
const version = "26.3.
|
|
54874
|
+
const version = "26.3.9";
|
|
54836
54875
|
return {
|
|
54837
54876
|
success: true,
|
|
54838
54877
|
message: `MDFriday CLI v${version}`
|
package/dist/index.d.ts
CHANGED
|
@@ -3,4 +3,4 @@ export { processSSGParallel, ParallelSSGStats } from './internal/application/ssg
|
|
|
3
3
|
export { startIncrementalBuild, IncrementalBuildConfig, IncrementalBuildCoordinator } from './internal/application/incremental-ssg';
|
|
4
4
|
export { MarkdownRenderer, AutoIDGenerator, ParsingResult, Header, TocFragments, Link, Paragraph } from './internal/domain/markdown';
|
|
5
5
|
export { PageTask } from './pkg/page-filter';
|
|
6
|
-
export { ObsidianWorkspaceService, createObsidianWorkspaceService, ObsidianWorkspaceInitOptions, ObsidianWorkspaceInfo, ObsidianWorkspaceResult, ObsidianProjectService, createObsidianProjectService, ObsidianProjectCreateOptions, ObsidianProjectInfo, ObsidianProjectResult, ObsidianBuildService, createObsidianBuildService, ObsidianBuildOptions, ObsidianBuildResult, ObsidianGlobalConfigService, ObsidianProjectConfigService, createObsidianGlobalConfigService, createObsidianProjectConfigService, ObsidianConfigResult, ConfigGetResult, ConfigListResult, ObsidianPublishService, createObsidianPublishService, ObsidianPublishMethod, ObsidianPublishOptions, ObsidianPublishProgress, ObsidianPublishResult, ObsidianTestConnectionResult, ObsidianServeService, createObsidianServeService, ObsidianServeOptions, ObsidianServeResult, ObsidianServeProgress, ObsidianLicenseService, createObsidianLicenseService, ObsidianLicenseInfo, ObsidianLicenseUsage, ObsidianLicenseResult, ObsidianAuthService, createObsidianAuthService, ObsidianAuthStatus, ObsidianServerConfig, ObsidianAuthResult, ObsidianDomainService, createObsidianDomainService, ObsidianDomainInfo, ObsidianSubdomainCheckResult, ObsidianSubdomainUpdateResult, ObsidianCustomDomainCheckResult, ObsidianCustomDomainAddResult, ObsidianHttpsCertificate, ObsidianHttpsStatusResult, ObsidianDomainResult, createWorkspaceAppService, createWorkspaceFactory, type
|
|
6
|
+
export { ObsidianWorkspaceService, createObsidianWorkspaceService, ObsidianWorkspaceInitOptions, ObsidianWorkspaceInfo, ObsidianWorkspaceResult, ObsidianProjectService, createObsidianProjectService, ObsidianProjectCreateOptions, ObsidianProjectInfo, ObsidianProjectResult, ObsidianBuildService, createObsidianBuildService, ObsidianBuildOptions, ObsidianBuildResult, ObsidianGlobalConfigService, ObsidianProjectConfigService, createObsidianGlobalConfigService, createObsidianProjectConfigService, ObsidianConfigResult, ConfigGetResult, ConfigListResult, ObsidianPublishService, createObsidianPublishService, ObsidianPublishMethod, ObsidianPublishOptions, ObsidianPublishProgress, ObsidianPublishResult, ObsidianTestConnectionResult, ObsidianServeService, createObsidianServeService, ObsidianServeOptions, ObsidianServeResult, ObsidianServeProgress, ObsidianLicenseService, createObsidianLicenseService, ObsidianLicenseInfo, ObsidianLicenseUsage, ObsidianLicenseResult, ObsidianAuthService, createObsidianAuthService, ObsidianAuthStatus, ObsidianServerConfig, ObsidianAuthResult, ObsidianDomainService, createObsidianDomainService, ObsidianDomainInfo, ObsidianSubdomainCheckResult, ObsidianSubdomainUpdateResult, ObsidianCustomDomainCheckResult, ObsidianCustomDomainAddResult, ObsidianHttpsCertificate, ObsidianHttpsStatusResult, ObsidianDomainResult, createWorkspaceAppService, createWorkspaceFactory, type PublishHttpClient, type PublishHttpResponse, type IdentityHttpClient, type IdentityHttpResponse, type AnyPublishConfig, type FTPConfig, type NetlifyConfig, type MDFridayConfig, } from './internal/interfaces/obsidian';
|