Skip to content

Commit 2a12da9

Browse files
committed
update stable.ts and src/index.ts
1 parent e188531 commit 2a12da9

2 files changed

Lines changed: 10 additions & 5 deletions

File tree

src/commands/stable.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { getVersions, extractMcVersion, extractModuleVersion } from "../utils/ve
44
import { detectPackageManager, installPackage } from "../utils/package-manager.js";
55
import * as logger from "../utils/logger.js";
66

7-
export async function stable(): Promise<void> {
7+
export async function stable(options: { force?: boolean } = {}): Promise<void> {
88
const spinner = ora("Fetching Minecraft version...").start();
99

1010
const mcVersion = await getStableMinecraftVersion();
@@ -24,6 +24,8 @@ export async function stable(): Promise<void> {
2424
const dependencies = manifest.dependencies?.filter(isManifestModuleDependency) ?? [];
2525

2626
for (const dependency of dependencies) {
27+
const isBeta = String(dependency.version) === "beta";
28+
2729
const versions = await getVersions(dependency.module_name);
2830
const matched = versions.find((v) => v.includes(mcVersion));
2931

@@ -32,8 +34,10 @@ export async function stable(): Promise<void> {
3234
process.exit(1);
3335
}
3436

35-
dependency.version = extractModuleVersion(matched);
36-
logger.log(`${dependency.module_name}: ${matched}`);
37+
if (!isBeta || options.force) {
38+
dependency.version = extractModuleVersion(matched);
39+
}
40+
logger.log(`${dependency.module_name}: ${matched}${isBeta && !options.force ? " (manifest not updated, current version is beta)" : ""}`);
3741

3842
modules.push({ name: dependency.module_name, version: matched });
3943
}

src/index.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,9 @@ program
2121
program
2222
.command("stable")
2323
.description("Install the latest stable version modules")
24-
.action(async () => {
25-
await stable();
24+
.option("-f, --force", "Update modules even if the current version is beta")
25+
.action(async (options: { force?: boolean }) => {
26+
await stable(options);
2627
});
2728

2829
program

0 commit comments

Comments
 (0)