@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.
@@ -0,0 +1,9 @@
1
+ import { WorkspaceFactory } from '@internal/domain/workspace';
2
+ import { WorkspaceAppService } from '@internal/application/workspace';
3
+ import { HttpClient as IdentityHttpClient } from '@internal/domain/identity';
4
+ import { IdentityAppService } from '@internal/application/identity';
5
+ export declare function createWorkspaceFactory(): WorkspaceFactory;
6
+ export declare function createWorkspaceAppService(): WorkspaceAppService;
7
+ export declare function createIdentityService(workspacePath?: string): Promise<IdentityAppService>;
8
+ export declare function createIdentityServiceForObsidian(workspacePath: string, httpClient: IdentityHttpClient): Promise<IdentityAppService>;
9
+ export declare function createPublishAppService(): any;
@@ -0,0 +1,4 @@
1
+ export { WorkspaceAppService } from './workspace';
2
+ export { PublishAppService } from './publish';
3
+ export { IdentityAppService } from './identity';
4
+ export { createWorkspaceFactory, createWorkspaceAppService, createIdentityService, createPublishAppService, } from './container';
@@ -1,11 +1,6 @@
1
- import { PublisherFactory } from '@internal/domain/publish';
1
+ import { PublisherFactory, AnyPublishConfig } from '@internal/domain/publish';
2
2
  import { WorkspaceAppService } from './workspace';
3
- import { Project } from '@internal/domain/workspace';
4
- export interface PublishOptions {
5
- force?: boolean;
6
- incremental?: boolean;
7
- config?: any;
8
- }
3
+ import { Workspace, Project } from '@internal/domain/workspace';
9
4
  export type PublishProgressCallback = (progress: {
10
5
  phase: 'scanning' | 'uploading' | 'deploying' | 'complete';
11
6
  percentage: number;
@@ -19,10 +14,14 @@ export declare class PublishAppService {
19
14
  private publisherFactory;
20
15
  private workspaceService;
21
16
  constructor(publisherFactory: PublisherFactory, workspaceService: WorkspaceAppService);
22
- publish(project: Project, method: 'ftp' | 'netlify' | 'mdfriday', options?: PublishOptions, onProgress?: PublishProgressCallback): Promise<any>;
23
- testConnection(project: Project, method: 'ftp' | 'netlify' | 'mdfriday'): Promise<{
17
+ publish(project: Project, config: AnyPublishConfig, options?: {
18
+ force?: boolean;
19
+ incremental?: boolean;
20
+ }, onProgress?: PublishProgressCallback): Promise<any>;
21
+ testConnection(project: Project, config: AnyPublishConfig): Promise<{
24
22
  success: boolean;
25
23
  error?: string;
26
24
  }>;
25
+ prepareFinalConfig(workspace: Workspace, project: Project, method: 'ftp' | 'netlify' | 'mdfriday'): Promise<AnyPublishConfig>;
27
26
  private getMethodConfig;
28
27
  }
@@ -5,16 +5,6 @@ export interface PublishOptions {
5
5
  project?: string;
6
6
  force?: boolean;
7
7
  verbose?: boolean;
8
- host?: string;
9
- port?: number;
10
- username?: string;
11
- password?: string;
12
- remotePath?: string;
13
- secure?: boolean;
14
- siteId?: string;
15
- token?: string;
16
- type?: 'share' | 'sub' | 'custom' | 'enterprise';
17
- licenseKey?: string;
18
8
  }
19
9
  export declare class PublishCommand implements Command {
20
10
  private publishService;
@@ -23,5 +13,5 @@ export declare class PublishCommand implements Command {
23
13
  description: string;
24
14
  constructor(publishService: PublishAppService, workspaceAppService: WorkspaceAppService);
25
15
  execute(args: string[], options: PublishOptions): Promise<CommandResult>;
26
- private parseConfigOverride;
16
+ private executeTest;
27
17
  }
@@ -1,7 +1 @@
1
- import { WorkspaceFactory } from '@internal/domain/workspace';
2
- import { WorkspaceAppService } from '@internal/application/workspace';
3
- import { IdentityAppService } from '@internal/application/identity';
4
- export declare function createWorkspaceFactory(): WorkspaceFactory;
5
- export declare function createWorkspaceAppService(): WorkspaceAppService;
6
- export declare function createIdentityService(projectPath?: string): Promise<IdentityAppService>;
7
- export declare function createPublishAppService(): any;
1
+ export { createWorkspaceFactory, createWorkspaceAppService, createIdentityService, createIdentityServiceForObsidian, createPublishAppService, } from '@internal/application/container';
@@ -48,6 +48,4 @@ export interface ServeOptions {
48
48
  livereloadPort?: number;
49
49
  publish?: 'ftp' | 'netlify' | 'mdfriday';
50
50
  publishDelay?: number;
51
- type?: 'share' | 'sub' | 'custom' | 'enterprise';
52
- licenseKey?: string;
53
51
  }
@@ -1,4 +1,5 @@
1
- import { HttpClient } from '@internal/domain/publish/repository/http-client';
1
+ import { IdentityAppService } from '@internal/application/identity';
2
+ import { HttpClient } from '@internal/domain/identity';
2
3
  export interface ObsidianAuthStatus {
3
4
  isAuthenticated: boolean;
4
5
  email?: string;
@@ -16,11 +17,10 @@ export interface ObsidianAuthResult<T = void> {
16
17
  error?: string;
17
18
  }
18
19
  export declare class ObsidianAuthService {
19
- private httpClient;
20
- constructor(httpClient?: HttpClient);
20
+ private identityService;
21
+ constructor(identityService: IdentityAppService);
21
22
  getStatus(): Promise<ObsidianAuthResult<ObsidianAuthStatus>>;
22
23
  getConfig(): Promise<ObsidianAuthResult<ObsidianServerConfig>>;
23
24
  updateConfig(config: ObsidianServerConfig): Promise<ObsidianAuthResult<ObsidianServerConfig>>;
24
- private getIdentityService;
25
25
  }
26
- export declare function createObsidianAuthService(httpClient?: HttpClient): ObsidianAuthService;
26
+ export declare function createObsidianAuthService(workspacePath: string, httpClient: HttpClient): Promise<ObsidianAuthService>;
@@ -1,4 +1,4 @@
1
- import { WorkspaceFactory } from '@internal/domain/workspace';
2
- import { WorkspaceAppService } from '@internal/application/workspace';
3
- export declare function createWorkspaceFactory(): WorkspaceFactory;
4
- export declare function createWorkspaceAppService(): WorkspaceAppService;
1
+ import { HttpClient } from "@internal/domain/identity";
2
+ import { IdentityAppService } from "@internal/application";
3
+ export { createWorkspaceFactory, createWorkspaceAppService, createIdentityService, createIdentityServiceForObsidian, createPublishAppService, } from '@internal/application/container';
4
+ export declare function getIdentityService(workspacePath: string, httpClient: HttpClient): Promise<IdentityAppService>;
@@ -1,4 +1,5 @@
1
- import { HttpClient } from '@internal/domain/publish/repository/http-client';
1
+ import { IdentityAppService } from '@internal/application/identity';
2
+ import { HttpClient } from '@internal/domain/identity';
2
3
  export interface ObsidianDomainInfo {
3
4
  subdomain: string;
4
5
  fullDomain: string;
@@ -46,14 +47,13 @@ export interface ObsidianDomainResult<T = void> {
46
47
  error?: string;
47
48
  }
48
49
  export declare class ObsidianDomainService {
49
- private httpClient;
50
- constructor(httpClient?: HttpClient);
50
+ private identityService;
51
+ constructor(identityService: IdentityAppService);
51
52
  getDomainInfo(): Promise<ObsidianDomainResult<ObsidianDomainInfo>>;
52
53
  checkSubdomain(subdomain: string): Promise<ObsidianDomainResult<ObsidianSubdomainCheckResult>>;
53
54
  updateSubdomain(newSubdomain: string): Promise<ObsidianDomainResult<ObsidianSubdomainUpdateResult>>;
54
55
  checkCustomDomain(domain: string): Promise<ObsidianDomainResult<ObsidianCustomDomainCheckResult>>;
55
56
  addCustomDomain(domain: string): Promise<ObsidianDomainResult<ObsidianCustomDomainAddResult>>;
56
57
  checkHttpsStatus(domain: string): Promise<ObsidianDomainResult<ObsidianHttpsStatusResult>>;
57
- private getIdentityService;
58
58
  }
59
- export declare function createObsidianDomainService(httpClient?: HttpClient): ObsidianDomainService;
59
+ export declare function createObsidianDomainService(workspacePath: string, httpClient: HttpClient): Promise<ObsidianDomainService>;
@@ -8,4 +8,6 @@ export { ObsidianLicenseService, createObsidianLicenseService, ObsidianLicenseIn
8
8
  export { ObsidianAuthService, createObsidianAuthService, ObsidianAuthStatus, ObsidianServerConfig, ObsidianAuthResult, } from './auth';
9
9
  export { ObsidianDomainService, createObsidianDomainService, ObsidianDomainInfo, ObsidianSubdomainCheckResult, ObsidianSubdomainUpdateResult, ObsidianCustomDomainCheckResult, ObsidianCustomDomainAddResult, ObsidianHttpsCertificate, ObsidianHttpsStatusResult, ObsidianDomainResult, } from './domain';
10
10
  export { createWorkspaceAppService, createWorkspaceFactory, } from './container';
11
- export type { HttpClient, HttpResponse } from '@internal/domain/publish/repository/http-client';
11
+ export type { HttpClient as PublishHttpClient, HttpResponse as PublishHttpResponse } from '@internal/domain/publish/repository/http-client';
12
+ export type { HttpClient as IdentityHttpClient, HttpResponse as IdentityHttpResponse } from '@internal/domain/identity';
13
+ export type { AnyPublishConfig, FTPConfig, NetlifyConfig, MDFridayConfig, } from '@internal/domain/publish';
@@ -1,5 +1,5 @@
1
- import { WorkspaceAppService } from '@internal/application/workspace';
2
- import { HttpClient } from '@internal/domain/publish/repository/http-client';
1
+ import { IdentityAppService } from '@internal/application/identity';
2
+ import { HttpClient } from '@internal/domain/identity';
3
3
  export interface ObsidianLicenseInfo {
4
4
  key: string;
5
5
  plan: string;
@@ -60,9 +60,8 @@ export interface ObsidianLicenseResult<T = any> {
60
60
  error?: string;
61
61
  }
62
62
  export declare class ObsidianLicenseService {
63
- private workspaceAppService;
64
- private httpClient;
65
- constructor(workspaceAppService: WorkspaceAppService, httpClient?: HttpClient);
63
+ private identityService;
64
+ constructor(identityService: IdentityAppService);
66
65
  requestTrial(email: string): Promise<ObsidianLicenseResult<ObsidianLicenseInfo>>;
67
66
  loginWithLicense(licenseKey: string): Promise<ObsidianLicenseResult<ObsidianLicenseInfo>>;
68
67
  activateLicense(licenseKey: string): Promise<ObsidianLicenseResult<ObsidianLicenseInfo>>;
@@ -70,7 +69,6 @@ export declare class ObsidianLicenseService {
70
69
  getLicenseUsage(): Promise<ObsidianLicenseResult<ObsidianLicenseUsage>>;
71
70
  resetUsage(force: boolean): Promise<ObsidianLicenseResult<any>>;
72
71
  hasActiveLicense(): Promise<boolean>;
73
- private getIdentityService;
74
72
  private buildLicenseInfo;
75
73
  }
76
- export declare function createObsidianLicenseService(httpClient?: HttpClient): ObsidianLicenseService;
74
+ export declare function createObsidianLicenseService(workspacePath: string, httpClient: HttpClient): Promise<ObsidianLicenseService>;
@@ -1,13 +1,14 @@
1
1
  import { PublishAppService } from '@internal/application/publish';
2
2
  import { WorkspaceAppService } from '@internal/application/workspace';
3
+ import { AnyPublishConfig } from '@internal/domain/publish';
3
4
  import { HttpClient } from '@internal/domain/publish/repository/http-client';
4
5
  export type ObsidianPublishMethod = 'ftp' | 'netlify' | 'mdfriday';
5
6
  export interface ObsidianPublishOptions {
6
7
  workspacePath: string;
7
8
  projectName: string;
8
9
  method: ObsidianPublishMethod;
10
+ config: AnyPublishConfig;
9
11
  force?: boolean;
10
- config?: any;
11
12
  }
12
13
  export interface ObsidianPublishProgress {
13
14
  phase: 'scanning' | 'uploading' | 'deploying' | 'complete';
@@ -38,6 +39,6 @@ export declare class ObsidianPublishService {
38
39
  private workspaceAppService;
39
40
  constructor(publishAppService: PublishAppService, workspaceAppService: WorkspaceAppService);
40
41
  publish(options: ObsidianPublishOptions, onProgress?: (progress: ObsidianPublishProgress) => void): Promise<ObsidianPublishResult>;
41
- testConnection(workspacePath: string, projectName: string, method: ObsidianPublishMethod): Promise<ObsidianTestConnectionResult>;
42
+ testConnection(workspacePath: string, projectName: string, config: AnyPublishConfig): Promise<ObsidianTestConnectionResult>;
42
43
  }
43
44
  export declare function createObsidianPublishService(httpClient: HttpClient): ObsidianPublishService;
@@ -2,6 +2,7 @@ import { WorkspaceAppService } from '@internal/application/workspace';
2
2
  import { PublishAppService } from '@internal/application/publish';
3
3
  import { HttpClient } from '@internal/domain/publish/repository/http-client';
4
4
  import { MarkdownRenderer } from '@internal/domain/markdown';
5
+ import { AnyPublishConfig } from '@internal/domain/publish';
5
6
  export interface ObsidianServeOptions {
6
7
  workspacePath: string;
7
8
  projectName: string;
@@ -9,11 +10,10 @@ export interface ObsidianServeOptions {
9
10
  host?: string;
10
11
  livereloadPort?: number;
11
12
  livereload?: boolean;
12
- publish?: 'ftp' | 'netlify' | 'mdfriday';
13
- publishDelay?: number;
14
13
  publishConfig?: {
15
- type?: string;
16
- licenseKey?: string;
14
+ method: 'ftp' | 'netlify' | 'mdfriday';
15
+ config: AnyPublishConfig;
16
+ delay?: number;
17
17
  };
18
18
  markdown?: MarkdownRenderer;
19
19
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mdfriday/foundry",
3
- "version": "26.3.8",
3
+ "version": "26.3.9",
4
4
  "description": "The core engine of MDFriday. Convert Markdown and shortcodes into fully themed static sites – Hugo-style, powered by TypeScript.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",