pressship 0.1.0 → 0.1.2
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/README.md +401 -84
- package/assets/pressship.png +0 -0
- package/dist/auth/login.js +14 -5
- package/dist/auth/login.js.map +1 -1
- package/dist/auth/session.d.ts +1 -0
- package/dist/auth/session.js +3 -1
- package/dist/auth/session.js.map +1 -1
- package/dist/auth/whoami.js +9 -4
- package/dist/auth/whoami.js.map +1 -1
- package/dist/cli.js +46 -0
- package/dist/cli.js.map +1 -1
- package/dist/package/pack.d.ts +40 -0
- package/dist/package/pack.js +122 -0
- package/dist/package/pack.js.map +1 -0
- package/dist/plugin/version.d.ts +12 -0
- package/dist/plugin/version.js +58 -0
- package/dist/plugin/version.js.map +1 -0
- package/dist/svn/release.d.ts +1 -0
- package/dist/svn/release.js +8 -0
- package/dist/svn/release.js.map +1 -1
- package/dist/wordpress-org/publish.d.ts +33 -0
- package/dist/wordpress-org/publish.js +148 -0
- package/dist/wordpress-org/publish.js.map +1 -0
- package/dist/wordpress-org/state.d.ts +29 -0
- package/dist/wordpress-org/state.js +113 -0
- package/dist/wordpress-org/state.js.map +1 -0
- package/dist/wordpress-org/submit.js +27 -0
- package/dist/wordpress-org/submit.js.map +1 -1
- package/package.json +3 -2
package/dist/auth/whoami.js
CHANGED
|
@@ -21,10 +21,6 @@ export async function getWordPressOrgAccount() {
|
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
export async function detectWordPressOrgAccount(context, page) {
|
|
24
|
-
const cookieAccount = await accountFromLoggedInCookie(context);
|
|
25
|
-
if (cookieAccount) {
|
|
26
|
-
return cookieAccount;
|
|
27
|
-
}
|
|
28
24
|
if (page) {
|
|
29
25
|
const account = await accountFromCurrentPageProfileLink(page);
|
|
30
26
|
if (account) {
|
|
@@ -35,6 +31,15 @@ export async function detectWordPressOrgAccount(context, page) {
|
|
|
35
31
|
if (navigatedAccount) {
|
|
36
32
|
return navigatedAccount;
|
|
37
33
|
}
|
|
34
|
+
const pageText = await page.locator("body").innerText({ timeout: 10_000 }).catch(() => "");
|
|
35
|
+
const textAccount = accountFromLoggedInText(pageText);
|
|
36
|
+
if (textAccount) {
|
|
37
|
+
return textAccount;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
const cookieAccount = page ? undefined : await accountFromLoggedInCookie(context);
|
|
41
|
+
if (cookieAccount) {
|
|
42
|
+
return cookieAccount;
|
|
38
43
|
}
|
|
39
44
|
throw new Error("Saved WordPress.org session is not logged in. Run `pressship login` again.");
|
|
40
45
|
}
|
package/dist/auth/whoami.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/auth/whoami.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAY9B,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,UAAyB,EAAE;IACtD,IAAI,CAAC,CAAC,MAAM,eAAe,EAAE,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,sCAAsC,EAAE,sBAAsB,EAAE,CAAC,KAAK,EAAE,EAAE,CACtG,oBAAoB,KAAK,CAAC,QAAQ,EAAE,CACrC,CAAC;IAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC1C,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,kBAAkB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAEvE,IAAI,CAAC;QACH,OAAO,MAAM,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAAuB,EACvB,IAAW;IAEX,MAAM,
|
|
1
|
+
{"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/auth/whoami.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -3,8 +3,12 @@ import { Command } from "commander";
|
|
|
3
3
|
import { login } from "./auth/login.js";
|
|
4
4
|
import { logout } from "./auth/logout.js";
|
|
5
5
|
import { whoami } from "./auth/whoami.js";
|
|
6
|
+
import { pack } from "./package/pack.js";
|
|
7
|
+
import { publish } from "./wordpress-org/publish.js";
|
|
6
8
|
import { submit } from "./wordpress-org/submit.js";
|
|
9
|
+
import { status } from "./wordpress-org/state.js";
|
|
7
10
|
import { release } from "./svn/release.js";
|
|
11
|
+
import { version } from "./plugin/version.js";
|
|
8
12
|
const program = new Command();
|
|
9
13
|
program
|
|
10
14
|
.name("pressship")
|
|
@@ -23,6 +27,36 @@ program
|
|
|
23
27
|
.description("Print the WordPress.org username for the saved login session.")
|
|
24
28
|
.option("--json", "Print account details as JSON")
|
|
25
29
|
.action((options) => run(() => whoami(options))());
|
|
30
|
+
program
|
|
31
|
+
.command("publish")
|
|
32
|
+
.description("Submit for review or release an approved plugin, similar to npm publish.")
|
|
33
|
+
.argument("[plugin-path]", "Path to the WordPress plugin directory")
|
|
34
|
+
.option("--submit", "Force WordPress.org review submission")
|
|
35
|
+
.option("--release", "Force WordPress.org SVN release")
|
|
36
|
+
.option("--dry-run", "Run the selected publish flow without uploading or committing")
|
|
37
|
+
.option("--skip-plugin-check", "Skip `wp plugin check` for submit flows")
|
|
38
|
+
.option("--skip-readme-validator", "Skip the remote WordPress.org readme validator for submit flows")
|
|
39
|
+
.option("--output-dir <path>", "Directory where the submission zip should be written")
|
|
40
|
+
.option("--wp-path <path>", "WordPress installation path for `wp plugin check`")
|
|
41
|
+
.option("--slug <slug>", "Approved WordPress.org plugin slug for release detection or release")
|
|
42
|
+
.option("--version <version>", "Version tag to create for release")
|
|
43
|
+
.option("--svn-dir <path>", "Local SVN working copy directory for release")
|
|
44
|
+
.option("--username <username>", "WordPress.org SVN username for release")
|
|
45
|
+
.option("-m, --message <message>", "SVN commit message for release")
|
|
46
|
+
.option("--ignore <glob>", "Ignore files in the package; repeat for multiple globs", collectValues, [])
|
|
47
|
+
.option("-y, --yes", "Continue without interactive confirmations where possible")
|
|
48
|
+
.action((pluginPath, options) => run(() => publish(pluginPath, options))());
|
|
49
|
+
program
|
|
50
|
+
.command("pack")
|
|
51
|
+
.description("Create a WordPress-installable plugin zip, similar to npm pack.")
|
|
52
|
+
.argument("[plugin-path]", "Path to the WordPress plugin directory")
|
|
53
|
+
.option("--output-dir <path>", "Directory where the plugin zip should be written")
|
|
54
|
+
.option("--ignore <glob>", "Ignore files in the package; repeat for multiple globs", collectValues, [])
|
|
55
|
+
.option("--no-validate", "Create the zip without readme validation or Plugin Check")
|
|
56
|
+
.option("--skip-readme-validator", "Skip the remote WordPress.org readme validator")
|
|
57
|
+
.option("--wp-path <path>", "WordPress installation path for `wp plugin check`")
|
|
58
|
+
.option("--json", "Print package details as JSON")
|
|
59
|
+
.action((pluginPath, options) => run(() => pack(pluginPath, options))());
|
|
26
60
|
program
|
|
27
61
|
.command("submit")
|
|
28
62
|
.description("Validate, package, and submit a plugin zip to WordPress.org for review.")
|
|
@@ -35,6 +69,18 @@ program
|
|
|
35
69
|
.option("--ignore <glob>", "Ignore files in the package; repeat for multiple globs", collectValues, [])
|
|
36
70
|
.option("-y, --yes", "Continue without interactive confirmations where possible")
|
|
37
71
|
.action((pluginPath, options) => run(() => submit(pluginPath, options))());
|
|
72
|
+
program
|
|
73
|
+
.command("status")
|
|
74
|
+
.description("Show current WordPress.org review state for submitted plugins.")
|
|
75
|
+
.argument("[plugin-path-or-slug]", "Filter by local plugin path, plugin slug, or display name")
|
|
76
|
+
.option("--json", "Print state as JSON")
|
|
77
|
+
.action((slugOrName, options) => run(() => status(slugOrName, options))());
|
|
78
|
+
program
|
|
79
|
+
.command("version")
|
|
80
|
+
.description("Bump the local plugin Version header and readme Stable tag.")
|
|
81
|
+
.argument("<patch|minor|major>", "Version bump type")
|
|
82
|
+
.argument("[plugin-path]", "Path to the WordPress plugin directory")
|
|
83
|
+
.action((bump, pluginPath) => run(() => version(bump, pluginPath))());
|
|
38
84
|
program
|
|
39
85
|
.command("release")
|
|
40
86
|
.description("Publish an approved plugin release to WordPress.org SVN trunk and tags.")
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAsB,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAsB,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,OAAO,EAAuB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { stagePluginDirectory } from "./archive.js";
|
|
3
|
+
import { runPluginCheck, type PluginCheckResult } from "../checks/plugin-check.js";
|
|
4
|
+
import { validateReadmeFile } from "../checks/readme-validator.js";
|
|
5
|
+
import type { Finding, PackageResult, PluginProject } from "../types.js";
|
|
6
|
+
declare const packOptionsSchema: z.ZodObject<{
|
|
7
|
+
outputDir: z.ZodOptional<z.ZodString>;
|
|
8
|
+
ignore: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
9
|
+
json: z.ZodDefault<z.ZodBoolean>;
|
|
10
|
+
validate: z.ZodDefault<z.ZodBoolean>;
|
|
11
|
+
skipReadmeValidator: z.ZodDefault<z.ZodBoolean>;
|
|
12
|
+
wpPath: z.ZodOptional<z.ZodString>;
|
|
13
|
+
}, z.core.$strip>;
|
|
14
|
+
export type PackOptions = z.input<typeof packOptionsSchema>;
|
|
15
|
+
export type PackValidationResult = {
|
|
16
|
+
skipped: boolean;
|
|
17
|
+
readmeFindings: Finding[];
|
|
18
|
+
pluginCheckFindings: Finding[];
|
|
19
|
+
};
|
|
20
|
+
export type PackValidationDependencies = {
|
|
21
|
+
validateReadmeFile?: typeof validateReadmeFile;
|
|
22
|
+
stagePluginDirectory?: typeof stagePluginDirectory;
|
|
23
|
+
runPluginCheck?: typeof runPluginCheck;
|
|
24
|
+
};
|
|
25
|
+
export type PackSummary = {
|
|
26
|
+
zipPath: string;
|
|
27
|
+
sizeBytes: number;
|
|
28
|
+
size: string;
|
|
29
|
+
topLevelFolder: string;
|
|
30
|
+
fileCount: number;
|
|
31
|
+
files: string[];
|
|
32
|
+
validation: PackValidationResult;
|
|
33
|
+
};
|
|
34
|
+
export declare function pack(pluginPath: string | undefined, rawOptions: PackOptions): Promise<void>;
|
|
35
|
+
export declare function createPluginPack(pluginPath: string | undefined, options?: Pick<PackOptions, "outputDir" | "ignore">): Promise<PackageResult>;
|
|
36
|
+
export declare function validatePluginPack(project: PluginProject, options?: Pick<PackOptions, "ignore" | "skipReadmeValidator" | "wpPath">, dependencies?: PackValidationDependencies): Promise<PackValidationResult>;
|
|
37
|
+
export declare function toPackValidationResult(readmeFindings: Finding[], pluginCheck: Pick<PluginCheckResult, "findings">): PackValidationResult;
|
|
38
|
+
export declare function skippedPackValidation(): PackValidationResult;
|
|
39
|
+
export declare function summarizePackResult(result: PackageResult, validation?: PackValidationResult): PackSummary;
|
|
40
|
+
export {};
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { createPluginZip, stagePluginDirectory } from "./archive.js";
|
|
4
|
+
import { runPluginCheck } from "../checks/plugin-check.js";
|
|
5
|
+
import { validateReadmeFile } from "../checks/readme-validator.js";
|
|
6
|
+
import { hasBlockingFindings, printFindings } from "../checks/summary.js";
|
|
7
|
+
import { discoverPluginProject } from "../plugin/discover.js";
|
|
8
|
+
import { ui } from "../ui.js";
|
|
9
|
+
import { formatBytes } from "../utils/format.js";
|
|
10
|
+
const packOptionsSchema = z.object({
|
|
11
|
+
outputDir: z.string().optional(),
|
|
12
|
+
ignore: z.array(z.string()).default([]),
|
|
13
|
+
json: z.boolean().default(false),
|
|
14
|
+
validate: z.boolean().default(true),
|
|
15
|
+
skipReadmeValidator: z.boolean().default(false),
|
|
16
|
+
wpPath: z.string().optional()
|
|
17
|
+
});
|
|
18
|
+
export async function pack(pluginPath, rawOptions) {
|
|
19
|
+
const options = packOptionsSchema.parse(rawOptions);
|
|
20
|
+
if (!options.json) {
|
|
21
|
+
ui.intro("Pack WordPress plugin");
|
|
22
|
+
}
|
|
23
|
+
const rootDir = path.resolve(pluginPath ?? process.cwd());
|
|
24
|
+
const project = options.json
|
|
25
|
+
? await discoverPluginProject(rootDir)
|
|
26
|
+
: await ui.task("Discovering WordPress plugin", () => discoverPluginProject(rootDir), (value) => `Discovered ${value.headers.pluginName}`);
|
|
27
|
+
const validation = await validateForPack(project, options);
|
|
28
|
+
const result = options.json
|
|
29
|
+
? await createPluginZip(project, {
|
|
30
|
+
outputDir: options.outputDir ?? process.cwd(),
|
|
31
|
+
ignore: options.ignore
|
|
32
|
+
})
|
|
33
|
+
: await ui.task("Creating plugin zip", () => createPluginZip(project, {
|
|
34
|
+
outputDir: options.outputDir ?? process.cwd(),
|
|
35
|
+
ignore: options.ignore
|
|
36
|
+
}), (value) => `Created ${path.basename(value.zipPath)} (${formatBytes(value.sizeBytes)})`);
|
|
37
|
+
const summary = summarizePackResult(result, validation);
|
|
38
|
+
if (options.json) {
|
|
39
|
+
console.log(JSON.stringify(summary, null, 2));
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
ui.section("Package");
|
|
43
|
+
ui.keyValue("Zip", ui.path(summary.zipPath));
|
|
44
|
+
ui.keyValue("Size", summary.size);
|
|
45
|
+
ui.keyValue("Folder", summary.topLevelFolder);
|
|
46
|
+
ui.keyValue("Files", String(summary.fileCount));
|
|
47
|
+
}
|
|
48
|
+
export async function createPluginPack(pluginPath, options = {}) {
|
|
49
|
+
const rootDir = path.resolve(pluginPath ?? process.cwd());
|
|
50
|
+
const project = await discoverPluginProject(rootDir);
|
|
51
|
+
return createPluginZip(project, {
|
|
52
|
+
outputDir: options.outputDir ?? process.cwd(),
|
|
53
|
+
ignore: options.ignore
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
export async function validatePluginPack(project, options = {}, dependencies = {}) {
|
|
57
|
+
const readmeValidator = dependencies.validateReadmeFile ?? validateReadmeFile;
|
|
58
|
+
const stagePlugin = dependencies.stagePluginDirectory ?? stagePluginDirectory;
|
|
59
|
+
const pluginChecker = dependencies.runPluginCheck ?? runPluginCheck;
|
|
60
|
+
const readmeFindings = project.readmePath
|
|
61
|
+
? (await readmeValidator(project.readmePath, {
|
|
62
|
+
skipRemote: options.skipReadmeValidator,
|
|
63
|
+
headless: true
|
|
64
|
+
})).findings
|
|
65
|
+
: [
|
|
66
|
+
{
|
|
67
|
+
severity: "error",
|
|
68
|
+
code: "readme.missing",
|
|
69
|
+
message: "WordPress.org packages require a readme.txt file."
|
|
70
|
+
}
|
|
71
|
+
];
|
|
72
|
+
const checkTarget = await stagePlugin(project, {
|
|
73
|
+
ignore: options.ignore
|
|
74
|
+
});
|
|
75
|
+
const pluginCheck = await pluginChecker(checkTarget.path, {
|
|
76
|
+
mode: "new",
|
|
77
|
+
wpPath: options.wpPath
|
|
78
|
+
});
|
|
79
|
+
return toPackValidationResult(readmeFindings, pluginCheck);
|
|
80
|
+
}
|
|
81
|
+
export function toPackValidationResult(readmeFindings, pluginCheck) {
|
|
82
|
+
return {
|
|
83
|
+
skipped: false,
|
|
84
|
+
readmeFindings,
|
|
85
|
+
pluginCheckFindings: pluginCheck.findings
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
export function skippedPackValidation() {
|
|
89
|
+
return {
|
|
90
|
+
skipped: true,
|
|
91
|
+
readmeFindings: [],
|
|
92
|
+
pluginCheckFindings: []
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
export function summarizePackResult(result, validation = skippedPackValidation()) {
|
|
96
|
+
return {
|
|
97
|
+
zipPath: result.zipPath,
|
|
98
|
+
sizeBytes: result.sizeBytes,
|
|
99
|
+
size: formatBytes(result.sizeBytes),
|
|
100
|
+
topLevelFolder: result.topLevelFolder,
|
|
101
|
+
fileCount: result.files.length,
|
|
102
|
+
files: result.files,
|
|
103
|
+
validation
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
async function validateForPack(project, options) {
|
|
107
|
+
if (!options.validate) {
|
|
108
|
+
return skippedPackValidation();
|
|
109
|
+
}
|
|
110
|
+
const validation = options.json
|
|
111
|
+
? await validatePluginPack(project, options)
|
|
112
|
+
: await ui.task("Validating package", () => validatePluginPack(project, options));
|
|
113
|
+
if (!options.json) {
|
|
114
|
+
printFindings("Readme validation", validation.readmeFindings);
|
|
115
|
+
printFindings("Plugin Check", validation.pluginCheckFindings);
|
|
116
|
+
}
|
|
117
|
+
if (hasBlockingFindings(validation.readmeFindings) || hasBlockingFindings(validation.pluginCheckFindings)) {
|
|
118
|
+
throw new Error("Package validation reported blocking findings. Re-run with `--no-validate` to create the zip anyway.");
|
|
119
|
+
}
|
|
120
|
+
return validation;
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=pack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/package/pack.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
declare const bumpSchema: z.ZodEnum<{
|
|
3
|
+
patch: "patch";
|
|
4
|
+
minor: "minor";
|
|
5
|
+
major: "major";
|
|
6
|
+
}>;
|
|
7
|
+
export type VersionBump = z.infer<typeof bumpSchema>;
|
|
8
|
+
export declare function version(bumpArg: string, pluginPathArg?: string): Promise<void>;
|
|
9
|
+
export declare function bumpVersion(currentVersion: string, bump: VersionBump): string;
|
|
10
|
+
export declare function updatePluginHeaderVersion(mainFile: string, nextVersion: string): Promise<void>;
|
|
11
|
+
export declare function updateReadmeStableTag(readmePath: string, nextVersion: string): Promise<void>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { readFile, writeFile } from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
import { discoverPluginProject } from "./discover.js";
|
|
5
|
+
import { ui } from "../ui.js";
|
|
6
|
+
const bumpSchema = z.enum(["patch", "minor", "major"]);
|
|
7
|
+
export async function version(bumpArg, pluginPathArg) {
|
|
8
|
+
const bump = bumpSchema.parse(bumpArg);
|
|
9
|
+
const pluginPath = path.resolve(pluginPathArg ?? process.cwd());
|
|
10
|
+
ui.intro(`Bump plugin version (${bump})`);
|
|
11
|
+
const project = await ui.task("Discovering WordPress plugin", () => discoverPluginProject(pluginPath), (value) => `Discovered ${value.headers.pluginName}`);
|
|
12
|
+
if (!project.version) {
|
|
13
|
+
throw new Error("Could not find a Version header in the main plugin file.");
|
|
14
|
+
}
|
|
15
|
+
const nextVersion = bumpVersion(project.version, bump);
|
|
16
|
+
await ui.task("Updating main plugin header", () => updatePluginHeaderVersion(project.mainFile, nextVersion));
|
|
17
|
+
if (project.readmePath) {
|
|
18
|
+
await ui.task("Updating readme stable tag", () => updateReadmeStableTag(project.readmePath, nextVersion));
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
ui.warn("No readme.txt found; only the main plugin header was updated.");
|
|
22
|
+
}
|
|
23
|
+
ui.success(`${project.version} → ${nextVersion}`);
|
|
24
|
+
console.log(nextVersion);
|
|
25
|
+
}
|
|
26
|
+
export function bumpVersion(currentVersion, bump) {
|
|
27
|
+
const match = currentVersion.trim().match(/^(\d+)\.(\d+)\.(\d+)(.*)$/);
|
|
28
|
+
if (!match) {
|
|
29
|
+
throw new Error(`Unsupported version "${currentVersion}". Expected semver like 1.2.3.`);
|
|
30
|
+
}
|
|
31
|
+
const major = Number(match[1]);
|
|
32
|
+
const minor = Number(match[2]);
|
|
33
|
+
const patch = Number(match[3]);
|
|
34
|
+
if (bump === "major") {
|
|
35
|
+
return `${major + 1}.0.0`;
|
|
36
|
+
}
|
|
37
|
+
if (bump === "minor") {
|
|
38
|
+
return `${major}.${minor + 1}.0`;
|
|
39
|
+
}
|
|
40
|
+
return `${major}.${minor}.${patch + 1}`;
|
|
41
|
+
}
|
|
42
|
+
export async function updatePluginHeaderVersion(mainFile, nextVersion) {
|
|
43
|
+
const contents = await readFile(mainFile, "utf8");
|
|
44
|
+
const updated = contents.replace(/^([ \t/*#@]*Version\s*:\s*)(.+?)\s*$/im, `$1${nextVersion}`);
|
|
45
|
+
if (updated === contents) {
|
|
46
|
+
throw new Error(`Could not update Version header in ${mainFile}.`);
|
|
47
|
+
}
|
|
48
|
+
await writeFile(mainFile, updated);
|
|
49
|
+
}
|
|
50
|
+
export async function updateReadmeStableTag(readmePath, nextVersion) {
|
|
51
|
+
const contents = await readFile(readmePath, "utf8");
|
|
52
|
+
const updated = contents.replace(/^(Stable tag\s*:\s*)(.+?)\s*$/im, `$1${nextVersion}`);
|
|
53
|
+
if (updated === contents) {
|
|
54
|
+
throw new Error(`Could not update Stable tag in ${readmePath}.`);
|
|
55
|
+
}
|
|
56
|
+
await writeFile(readmePath, updated);
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/plugin/version.ts"],"names":[],"mappings":"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"}
|
package/dist/svn/release.d.ts
CHANGED
|
@@ -13,4 +13,5 @@ declare const releaseOptionsSchema: z.ZodObject<{
|
|
|
13
13
|
export type ReleaseOptions = z.input<typeof releaseOptionsSchema>;
|
|
14
14
|
export declare function release(pluginPath: string | undefined, rawOptions: ReleaseOptions): Promise<void>;
|
|
15
15
|
export declare function createReleaseCommandPlan(slug: string, svnDir: string, version: string, message: string, username?: string): CommandPlan[];
|
|
16
|
+
export declare function svnRepositoryExists(slug: string): Promise<boolean>;
|
|
16
17
|
export {};
|
package/dist/svn/release.js
CHANGED
|
@@ -72,6 +72,14 @@ export function createReleaseCommandPlan(slug, svnDir, version, message, usernam
|
|
|
72
72
|
{ command: "svn", args: ["commit", "-m", message, ...usernameArgs(username)], cwd: svnDir }
|
|
73
73
|
];
|
|
74
74
|
}
|
|
75
|
+
export async function svnRepositoryExists(slug) {
|
|
76
|
+
const result = await execa("svn", ["info", `https://plugins.svn.wordpress.org/${slug}`], {
|
|
77
|
+
reject: false,
|
|
78
|
+
stdout: "pipe",
|
|
79
|
+
stderr: "pipe"
|
|
80
|
+
});
|
|
81
|
+
return result.exitCode === 0;
|
|
82
|
+
}
|
|
75
83
|
async function ensureWorkingCopy(slug, svnDir, username) {
|
|
76
84
|
await mkdir(path.dirname(svnDir), { recursive: true });
|
|
77
85
|
try {
|
package/dist/svn/release.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release.js","sourceRoot":"","sources":["../../src/svn/release.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"release.js","sourceRoot":"","sources":["../../src/svn/release.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
declare const publishOptionsSchema: z.ZodObject<{
|
|
3
|
+
submit: z.ZodDefault<z.ZodBoolean>;
|
|
4
|
+
release: z.ZodDefault<z.ZodBoolean>;
|
|
5
|
+
dryRun: z.ZodDefault<z.ZodBoolean>;
|
|
6
|
+
skipPluginCheck: z.ZodDefault<z.ZodBoolean>;
|
|
7
|
+
skipReadmeValidator: z.ZodDefault<z.ZodBoolean>;
|
|
8
|
+
outputDir: z.ZodOptional<z.ZodString>;
|
|
9
|
+
wpPath: z.ZodOptional<z.ZodString>;
|
|
10
|
+
ignore: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
11
|
+
yes: z.ZodDefault<z.ZodBoolean>;
|
|
12
|
+
slug: z.ZodOptional<z.ZodString>;
|
|
13
|
+
version: z.ZodOptional<z.ZodString>;
|
|
14
|
+
svnDir: z.ZodOptional<z.ZodString>;
|
|
15
|
+
username: z.ZodOptional<z.ZodString>;
|
|
16
|
+
message: z.ZodOptional<z.ZodString>;
|
|
17
|
+
}, z.core.$strip>;
|
|
18
|
+
export type PublishOptions = z.input<typeof publishOptionsSchema>;
|
|
19
|
+
export type PublishAction = "submit" | "release" | "prompt";
|
|
20
|
+
export type PublishRouteInput = {
|
|
21
|
+
forceSubmit?: boolean;
|
|
22
|
+
forceRelease?: boolean;
|
|
23
|
+
hasPendingSubmission?: boolean;
|
|
24
|
+
svnRepositoryExists?: boolean;
|
|
25
|
+
canPrompt?: boolean;
|
|
26
|
+
};
|
|
27
|
+
export type PublishRoute = {
|
|
28
|
+
action: PublishAction;
|
|
29
|
+
reason: string;
|
|
30
|
+
};
|
|
31
|
+
export declare function publish(pluginPath: string | undefined, rawOptions: PublishOptions): Promise<void>;
|
|
32
|
+
export declare function resolvePublishRoute(input: PublishRouteInput): PublishRoute;
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { select } from "@inquirer/prompts";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
import { hasSavedSession } from "../auth/session.js";
|
|
5
|
+
import { discoverPluginProject } from "../plugin/discover.js";
|
|
6
|
+
import { release, svnRepositoryExists } from "../svn/release.js";
|
|
7
|
+
import { ui } from "../ui.js";
|
|
8
|
+
import { submit } from "./submit.js";
|
|
9
|
+
import { fetchPluginStates, matchesPluginState } from "./state.js";
|
|
10
|
+
const publishOptionsSchema = z.object({
|
|
11
|
+
submit: z.boolean().default(false),
|
|
12
|
+
release: z.boolean().default(false),
|
|
13
|
+
dryRun: z.boolean().default(false),
|
|
14
|
+
skipPluginCheck: z.boolean().default(false),
|
|
15
|
+
skipReadmeValidator: z.boolean().default(false),
|
|
16
|
+
outputDir: z.string().optional(),
|
|
17
|
+
wpPath: z.string().optional(),
|
|
18
|
+
ignore: z.array(z.string()).default([]),
|
|
19
|
+
yes: z.boolean().default(false),
|
|
20
|
+
slug: z.string().optional(),
|
|
21
|
+
version: z.string().optional(),
|
|
22
|
+
svnDir: z.string().optional(),
|
|
23
|
+
username: z.string().optional(),
|
|
24
|
+
message: z.string().optional()
|
|
25
|
+
});
|
|
26
|
+
export async function publish(pluginPath, rawOptions) {
|
|
27
|
+
const options = publishOptionsSchema.parse(rawOptions);
|
|
28
|
+
const rootDir = path.resolve(pluginPath ?? process.cwd());
|
|
29
|
+
ui.intro(options.dryRun ? "Dry-run plugin publish" : "Publish plugin");
|
|
30
|
+
if (options.submit || options.release) {
|
|
31
|
+
const route = resolvePublishRoute({
|
|
32
|
+
forceSubmit: options.submit,
|
|
33
|
+
forceRelease: options.release
|
|
34
|
+
});
|
|
35
|
+
if (route.action === "prompt") {
|
|
36
|
+
throw new Error("Forced publish routes cannot require a prompt.");
|
|
37
|
+
}
|
|
38
|
+
ui.info(`Publish target: ${route.action} (${route.reason})`);
|
|
39
|
+
await runPublishAction(route.action, rootDir, options);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const project = await ui.task("Discovering WordPress plugin", () => discoverPluginProject(rootDir), (value) => `Discovered ${value.headers.pluginName}`);
|
|
43
|
+
const [hasPendingSubmission, hasSvnRepository] = await Promise.all([
|
|
44
|
+
detectPendingSubmission(project.slug, project.headers.pluginName),
|
|
45
|
+
detectSvnRepository(options.slug ?? project.slug)
|
|
46
|
+
]);
|
|
47
|
+
const route = resolvePublishRoute({
|
|
48
|
+
forceSubmit: options.submit,
|
|
49
|
+
forceRelease: options.release,
|
|
50
|
+
hasPendingSubmission,
|
|
51
|
+
svnRepositoryExists: hasSvnRepository,
|
|
52
|
+
canPrompt: !options.yes && process.stdin.isTTY
|
|
53
|
+
});
|
|
54
|
+
const action = route.action === "prompt" ? await promptPublishAction(route.reason) : route.action;
|
|
55
|
+
ui.info(`Publish target: ${action} (${route.reason})`);
|
|
56
|
+
await runPublishAction(action, rootDir, options);
|
|
57
|
+
}
|
|
58
|
+
async function runPublishAction(action, rootDir, options) {
|
|
59
|
+
if (action === "submit") {
|
|
60
|
+
await submit(rootDir, toSubmitOptions(options));
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
await release(rootDir, toReleaseOptions(options));
|
|
64
|
+
}
|
|
65
|
+
export function resolvePublishRoute(input) {
|
|
66
|
+
if (input.forceSubmit && input.forceRelease) {
|
|
67
|
+
throw new Error("Choose either `--submit` or `--release`, not both.");
|
|
68
|
+
}
|
|
69
|
+
if (input.forceSubmit) {
|
|
70
|
+
return { action: "submit", reason: "`--submit` was passed" };
|
|
71
|
+
}
|
|
72
|
+
if (input.forceRelease) {
|
|
73
|
+
return { action: "release", reason: "`--release` was passed" };
|
|
74
|
+
}
|
|
75
|
+
if (input.hasPendingSubmission) {
|
|
76
|
+
return { action: "submit", reason: "matching WordPress.org submission is pending or reuploadable" };
|
|
77
|
+
}
|
|
78
|
+
if (input.hasPendingSubmission === false && input.svnRepositoryExists) {
|
|
79
|
+
return { action: "release", reason: "WordPress.org SVN repository exists" };
|
|
80
|
+
}
|
|
81
|
+
if (input.svnRepositoryExists === false) {
|
|
82
|
+
return { action: "submit", reason: "WordPress.org SVN repository was not found" };
|
|
83
|
+
}
|
|
84
|
+
if (input.canPrompt) {
|
|
85
|
+
return { action: "prompt", reason: "publish target could not be detected confidently" };
|
|
86
|
+
}
|
|
87
|
+
throw new Error("Could not determine whether to submit or release. Re-run with `--submit` or `--release`.");
|
|
88
|
+
}
|
|
89
|
+
async function detectPendingSubmission(slug, pluginName) {
|
|
90
|
+
if (!(await hasSavedSession())) {
|
|
91
|
+
return undefined;
|
|
92
|
+
}
|
|
93
|
+
try {
|
|
94
|
+
const states = await fetchPluginStates();
|
|
95
|
+
return states.some((state) => matchesPluginState(state, slug) || matchesPluginState(state, pluginName));
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
ui.warn(`Could not inspect WordPress.org pending submissions. ${error instanceof Error ? error.message : String(error)}`);
|
|
99
|
+
return undefined;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
async function detectSvnRepository(slug) {
|
|
103
|
+
try {
|
|
104
|
+
return await svnRepositoryExists(slug);
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
ui.warn(`Could not inspect WordPress.org SVN repository. ${error instanceof Error ? error.message : String(error)}`);
|
|
108
|
+
return undefined;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
async function promptPublishAction(reason) {
|
|
112
|
+
const action = await select({
|
|
113
|
+
message: `Choose publish target: ${reason}.`,
|
|
114
|
+
choices: [
|
|
115
|
+
{ name: "Submit for WordPress.org review", value: "submit" },
|
|
116
|
+
{ name: "Release to WordPress.org SVN", value: "release" },
|
|
117
|
+
{ name: "Cancel", value: "cancel" }
|
|
118
|
+
]
|
|
119
|
+
});
|
|
120
|
+
if (action === "cancel") {
|
|
121
|
+
throw new Error("Publish cancelled.");
|
|
122
|
+
}
|
|
123
|
+
return action;
|
|
124
|
+
}
|
|
125
|
+
function toSubmitOptions(options) {
|
|
126
|
+
return {
|
|
127
|
+
dryRun: options.dryRun,
|
|
128
|
+
skipPluginCheck: options.skipPluginCheck,
|
|
129
|
+
skipReadmeValidator: options.skipReadmeValidator,
|
|
130
|
+
outputDir: options.outputDir,
|
|
131
|
+
wpPath: options.wpPath,
|
|
132
|
+
ignore: options.ignore,
|
|
133
|
+
yes: options.yes
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
function toReleaseOptions(options) {
|
|
137
|
+
return {
|
|
138
|
+
slug: options.slug,
|
|
139
|
+
version: options.version,
|
|
140
|
+
svnDir: options.svnDir,
|
|
141
|
+
username: options.username,
|
|
142
|
+
message: options.message,
|
|
143
|
+
dryRun: options.dryRun,
|
|
144
|
+
yes: options.yes,
|
|
145
|
+
ignore: options.ignore
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=publish.js.map
|