Skip to content

Commit a9170b5

Browse files
committed
create concept of hidden publish providers, mark confluence hidden
1 parent 8222a01 commit a9170b5

File tree

5 files changed

+20
-22
lines changed

5 files changed

+20
-22
lines changed

src/command/publish/account.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ interface ProviderAccountToken extends AccountToken {
155155
export async function manageAccounts() {
156156
// build a list of all authorized accounts
157157
const accounts: ProviderAccountToken[] = [];
158-
for (const provider of await publishProviders()) {
158+
for (const provider of publishProviders()) {
159159
for (const account of await provider.accountTokens()) {
160160
if (account.type === AccountTokenType.Authorized) {
161161
accounts.push({ provider: provider.name, ...account });

src/command/publish/cmd.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -225,18 +225,20 @@ async function publishAction(
225225
);
226226
} else if (publishOptions.prompt) {
227227
// new deployment, determine provider if needed
228-
const providers = await publishProviders();
228+
const providers = publishProviders();
229229
if (!provider) {
230230
if (haveArrowKeys()) {
231231
// select provider
232232
const result = await prompt([{
233233
indent: "",
234234
name: "provider",
235235
message: "Provider:",
236-
options: providers.map((provider) => ({
237-
name: provider.description,
238-
value: provider.name,
239-
})),
236+
options: providers
237+
.filter((provider) => !provider.hidden)
238+
.map((provider) => ({
239+
name: provider.description,
240+
value: provider.name,
241+
})),
240242
type: Select,
241243
}]);
242244
if (result.provider) {

src/command/publish/deployment.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ export async function publishDeployments(
125125
const deployments: PublishDeploymentWithAccount[] = [];
126126

127127
// see if there are any static publish records for this directory
128-
for (const provider of await publishProviders()) {
128+
for (const provider of publishProviders()) {
129129
if (
130130
(!providerFilter || providerFilter === provider.name) &&
131131
provider.publishRecord
@@ -214,7 +214,8 @@ export async function chooseDeployment(
214214
try {
215215
const targetOrigin = new URL(deployment.target.url!).origin;
216216
if (
217-
originCounts.get(targetOrigin) === 1 && (deployment.provider?.listOriginOnly ?? false)
217+
originCounts.get(targetOrigin) === 1 &&
218+
(deployment.provider?.listOriginOnly ?? false)
218219
) {
219220
url = targetOrigin;
220221
}

src/publish/confluence/confluence.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -672,6 +672,7 @@ async function publish(
672672
export const confluenceProvider: PublishProvider = {
673673
name: CONFLUENCE_ID,
674674
description: "Confluence",
675+
hidden: true,
675676
requiresServer: true,
676677
requiresRender: true,
677678
accountTokens: getAccountTokens,

src/publish/provider.ts

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -49,20 +49,13 @@ const kPublishProviders = [
4949
confluenceProvider,
5050
];
5151

52-
export async function publishProviders() {
52+
export function publishProviders() {
5353
const providers: Array<PublishProvider> = [];
54-
const dotenvConfig = await quartoConfig.dotenv();
55-
const quartopubAppId = dotenvConfig["QUARTO_PUB_APP_CLIENT_ID"];
56-
if (quartopubAppId && quartopubAppId !== "None") {
57-
providers.push(quartoPubProvider);
58-
}
54+
providers.push(quartoPubProvider);
5955
providers.push(ghpagesProvider);
6056
providers.push(rsconnectProvider);
6157
providers.push(netlifyProvider);
62-
if (dotenvConfig["CONFLUENCE_PUBLISH_ENABLED"] === "true") {
63-
providers.push(confluenceProvider);
64-
}
65-
58+
providers.push(confluenceProvider);
6659
return providers;
6760
}
6861

@@ -96,20 +89,21 @@ export interface PublishProvider {
9689
name: string;
9790
description: string;
9891
requiresServer: boolean;
92+
hidden?: boolean;
9993
listOriginOnly?: boolean;
10094
requiresRender?: boolean;
10195
publishRecord?: (
102-
input: string | ProjectContext
96+
input: string | ProjectContext,
10397
) => Promise<PublishRecord | undefined>;
10498
accountTokens: () => Promise<AccountToken[]>;
10599
removeToken: (token: AccountToken) => void;
106100
authorizeToken: (
107101
options: PublishOptions,
108-
target?: PublishRecord
102+
target?: PublishRecord,
109103
) => Promise<AccountToken | undefined>;
110104
resolveTarget: (
111105
account: AccountToken,
112-
target: PublishRecord
106+
target: PublishRecord,
113107
) => Promise<PublishRecord | undefined>;
114108
publish: (
115109
account: AccountToken,
@@ -119,7 +113,7 @@ export interface PublishProvider {
119113
slug: string,
120114
render: (flags?: RenderFlags) => Promise<PublishFiles>,
121115
options: PublishOptions,
122-
target?: PublishRecord
116+
target?: PublishRecord,
123117
) => Promise<[PublishRecord | undefined, URL | undefined]>;
124118
isUnauthorized: (error: Error) => boolean;
125119
isNotFound: (error: Error) => boolean;

0 commit comments

Comments
 (0)