@bedrockkit/cli 1.1.1 → 1.2.0

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.
Files changed (47) hide show
  1. package/README.en.md +27 -25
  2. package/README.md +27 -25
  3. package/dist/cli.js +48 -7
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/build.js +187 -39
  6. package/dist/commands/build.js.map +1 -1
  7. package/dist/commands/bump.js +4 -4
  8. package/dist/commands/bump.js.map +1 -1
  9. package/dist/commands/deps.js +7 -7
  10. package/dist/commands/deps.js.map +1 -1
  11. package/dist/commands/import.js +56 -22
  12. package/dist/commands/import.js.map +1 -1
  13. package/dist/commands/index.js +13 -0
  14. package/dist/commands/index.js.map +1 -1
  15. package/dist/commands/init.js +30 -25
  16. package/dist/commands/init.js.map +1 -1
  17. package/dist/commands/link.js +337 -0
  18. package/dist/commands/link.js.map +1 -0
  19. package/dist/commands/package.js +22 -15
  20. package/dist/commands/package.js.map +1 -1
  21. package/dist/commands/remove.js +165 -0
  22. package/dist/commands/remove.js.map +1 -0
  23. package/dist/commands/setting.js +13 -106
  24. package/dist/commands/setting.js.map +1 -1
  25. package/dist/commands/sync.js +24 -14
  26. package/dist/commands/sync.js.map +1 -1
  27. package/dist/commands/template.js +35 -19
  28. package/dist/commands/template.js.map +1 -1
  29. package/dist/commands/validate.js +47 -38
  30. package/dist/commands/validate.js.map +1 -1
  31. package/dist/commands/watch.js +422 -28
  32. package/dist/commands/watch.js.map +1 -1
  33. package/dist/core/manifest.js +1 -1
  34. package/dist/core/manifest.js.map +1 -1
  35. package/dist/help.js +17 -16
  36. package/dist/help.js.map +1 -1
  37. package/dist/utils/i18n.js +760 -24
  38. package/dist/utils/i18n.js.map +1 -1
  39. package/dist/utils/settings.js +1 -1
  40. package/dist/utils/settings.js.map +1 -1
  41. package/dist/utils/tooling.js +12 -10
  42. package/dist/utils/tooling.js.map +1 -1
  43. package/dist/utils/ui.js +3 -2
  44. package/dist/utils/ui.js.map +1 -1
  45. package/dist/utils/update.js +37 -0
  46. package/dist/utils/update.js.map +1 -0
  47. package/package.json +58 -58
package/README.en.md CHANGED
@@ -12,19 +12,19 @@ A CLI tool for all-in-one Minecraft Bedrock Edition addon/resource pack developm
12
12
  ## Installation
13
13
  Install globally from GitHub:
14
14
 
15
- ```bash
16
- npm i -g @bedrockkit/cli
17
- ```
18
-
19
- If you want to use a local clone:
20
-
21
- ```bash
22
- git clone https://github.com/kaaariyaaa/BedrockKit.git
23
- cd BedrockKit
24
- npm install
25
- npm run build
26
- npm install -g . # or "npm link" for local linking
27
- ```
15
+ ```bash
16
+ npm i -g @bedrockkit/cli
17
+ ```
18
+
19
+ If you want to use a local clone:
20
+
21
+ ```bash
22
+ git clone https://github.com/kaaariyaaa/BedrockKit.git
23
+ cd BedrockKit
24
+ npm install
25
+ npm run build
26
+ npm install -g . # or "npm link" for local linking
27
+ ```
28
28
 
29
29
  For direct testing from source during development, you can run `src/cli.ts` using `npm run dev -- <command>`.
30
30
 
@@ -83,18 +83,20 @@ Minimal example of `bkit.config.json`:
83
83
  ```
84
84
 
85
85
  ## Main Commands
86
- - `bkit init` (`new`) Create a workspace from a template. You can interactively select Script API packages and versions. ESLint rules can be toggled interactively or via `--eslint-rules <csv>` / `--no-eslint` flags.
87
- - `bkit import <mcpack|mcaddon|zip>` Extract an existing archive and generate `bkit.config.json` for workspace conversion. JS to TS conversion is optional (`--convert-ts`). Automatic conversion is recommended only when necessary due to compatibility risks.
88
- - `bkit build [--out-dir <dir>]` Copy packs to `dist/`. If scripts are in TypeScript, they are bundled using `@minecraft/core-build-tasks`.
89
- - `bkit package [--out <name>]` Create `.mcpack` (both packs) or `.mcaddon` (if both exist) from the `dist/` folder.
90
- - `bkit sync [--target <name>] [--build=false]` Copy build outputs to locations defined in `config.sync.targets`. Specifying `product` allows deployment to Minecraft development environments.
91
- - `bkit deps` Install selected Script API dependencies via npm and sync `bkit.config.json` and `manifest.json`.
92
- - `bkit bump [major|minor|patch] [--to <version>] [--min-engine <x.y.z>]` Update project/manifest versions (optionally override min_engine_version).
93
- - `bkit validate [--strict] [--json]` Check consistency between config and manifest files.
94
- - `bkit template <list|add|pull|rm>` – Manage the template registry (`.bkit/templates*.json`). Any repository can be registered as `custom-git`.
95
- - `bkit watch` Watch the project folder and automatically perform build and sync on changes.
96
- - `bkit setting [--lang <ja|en>] [--project-root <path>]` Manage CLI settings (language, project root, onboarding toggles/order). Prompts when no flags are provided.
97
- - `npm run build:local` / `npm run package:local` Each generated/imported project ships with `tools/local-build.mjs` and `tools/local-package.mjs`. You can build and create `.mcpack/.mcaddon` archives without the BedrockKit CLI.
86
+ - `bkit init` (`new`) : Create a workspace from a template. You can interactively select Script API packages and versions. ESLint rules can be toggled interactively or via `--eslint-rules <csv>` / `--no-eslint` flags.
87
+ - `bkit import <mcpack|mcaddon|zip>` : Extract an existing archive and generate `bkit.config.json` for workspace conversion. JS to TS conversion is optional (`--convert-ts`). Automatic conversion is recommended only when necessary due to compatibility risks.
88
+ - `bkit build [--out-dir <dir>]` : Copy packs to `dist/`. If scripts are in TypeScript, they are bundled using `@minecraft/core-build-tasks`.
89
+ - `bkit package [--out <name>]` : Create `.mcpack` (both packs) or `.mcaddon` (if both exist) from the `dist/` folder.
90
+ - `bkit sync [--target <name>] [--build=false]` : Copy build outputs to locations defined in `config.sync.targets`. Specifying `product` allows deployment to Minecraft development environments.
91
+ - `bkit link [create|remove|edit]` : Create/remove/recreate symlinks in development folders. Supports `--source dist|packs`, `--mode symlink|junction`, and `--behavior/--resource`. If `dist` is missing it triggers a build.
92
+ - `bkit deps` : Install selected Script API dependencies via npm and sync `bkit.config.json` and `manifest.json`.
93
+ - `bkit bump [major|minor|patch] [--to <version>] [--min-engine <x.y.z>]` : Update project/manifest versions (optionally override min_engine_version).
94
+ - `bkit validate [--strict] [--json]` : Check consistency between config and manifest files.
95
+ - `bkit template <list|add|pull|rm>` : Manage the template registry (`.bkit/templates*.json`). Any repository can be registered as `custom-git`.
96
+ - `bkit watch` : Watch the project folder and automatically perform build and sync on changes. Link mode shares non-script assets via symlink and copies built JS into `scripts`.
97
+ - `bkit setting [--lang <ja|en>] [--project-root <path>]` : Manage CLI settings (language, project root). Prompts when no flags are provided.
98
+ - `bkit remove [--project <name>]` : Remove a project folder (use `--yes` to skip confirmation). Use `bkit link remove` to unlink dev folders.
99
+ - `npm run build:local` / `npm run package:local` : Each generated/imported project ships with `tools/local-build.mjs` and `tools/local-package.mjs`. You can build and create `.mcpack/.mcaddon` archives without the BedrockKit CLI.
98
100
 
99
101
  ## Sync Targets
100
102
  - **Via core-build-tasks** (Deploy to dev Minecraft)
package/README.md CHANGED
@@ -12,19 +12,19 @@ Minecraft Bedrock Edition 向けのアドオン/リソースパック開発を
12
12
  ## インストール
13
13
  GitHub からグローバルにインストールできます。
14
14
 
15
- ```bash
16
- npm i -g @bedrockkit/cli
17
- ```
18
-
19
- リポジトリをクローンして使う場合は次のとおりです。
20
-
21
- ```bash
22
- git clone https://github.com/kaaariyaaa/BedrockKit.git
23
- cd BedrockKit
24
- npm install
25
- npm run build
26
- npm install -g . # もしくは npm link でローカルリンク
27
- ```
15
+ ```bash
16
+ npm i -g @bedrockkit/cli
17
+ ```
18
+
19
+ リポジトリをクローンして使う場合は次のとおりです。
20
+
21
+ ```bash
22
+ git clone https://github.com/kaaariyaaa/BedrockKit.git
23
+ cd BedrockKit
24
+ npm install
25
+ npm run build
26
+ npm install -g . # もしくは npm link でローカルリンク
27
+ ```
28
28
 
29
29
  開発中にソースから直接試す場合は `npm run dev -- <command>` で `src/cli.ts` を起動できます。
30
30
 
@@ -83,18 +83,20 @@ project/<addon-name>/
83
83
  ```
84
84
 
85
85
  ## 主なコマンド
86
- - `bkit init` (`new`) テンプレートからワークスペースを作成。スクリプト API のパッケージとバージョンも対話的に選択可能。ESLint ルールは有効/無効を対話選択でき、フラグ `--eslint-rules <csv>` / `--no-eslint` でも指定可能。
87
- - `bkit import <mcpack|mcaddon|zip>` 既存アーカイブを展開し、`bkit.config.json` を生成してワークスペース化。JS→TS 変換はオプション(`--convert-ts`)。自動変換は互換性リスクがあるため、必要な場合のみ利用を推奨します。
88
- - `bkit build [--out-dir <dir>]` ビヘイビア/リソースパックを `dist/` にコピー。スクリプトが TypeScript の場合は `@minecraft/core-build-tasks` でバンドルを実行。
89
- - `bkit package [--out <name>]` `dist/` 以下から `.mcpack`(両パック)、両方揃っていれば `.mcaddon` も作成。
90
- - `bkit sync [--target <name>] [--build=false]` ビルド成果物を `config.sync.targets` で指定した場所へコピー。`product` 指定で Minecraft 開発環境へデプロイ。
91
- - `bkit deps` 選択した Script API 依存を npm にインストールし、`bkit.config.json` `manifest.json` を同期。
92
- - `bkit bump [major|minor|patch] [--to <version>] [--min-engine <x.y.z>]` プロジェクト/マニフェストのバージョンを更新(任意で min_engine_version も上書き)。
93
- - `bkit validate [--strict] [--json]` config / manifest の整合性チェック。
94
- - `bkit template <list|add|pull|rm>` – テンプレートレジストリ(`.bkit/templates*.json`)の管理。`custom-git` で任意のリポジトリを登録可能。
95
- - `bkit watch` – `./project/<name>` 配下を監視し、変更ごとにビルドと同期を自動実行。
96
- - `bkit setting [--lang <ja|en>] [--project-root <path>]` CLI 設定を変更(言語/プロジェクト保存先/初期設定の有無/順序など)。フラグ未指定時は対話で選択。
97
- - `npm run build:local` / `npm run package:local` – 生成/インポートされた各プロジェクトには `tools/local-build.mjs` `tools/local-package.mjs` を同梱。BedrockKit CLI がなくても、プロジェクト単体でビルド&.mcpack/.mcaddon パッケージ化が可能です。
86
+ - `bkit init` (`new`) : テンプレートからワークスペースを作成。スクリプト API のパッケージとバージョンも対話的に選択可能。ESLint ルールは有効/無効を対話選択でき、フラグ `--eslint-rules <csv>` / `--no-eslint` でも指定可能。
87
+ - `bkit import <mcpack|mcaddon|zip>` : 既存アーカイブを展開し、`bkit.config.json` を生成してワークスペース化。JS→TS 変換はオプション(`--convert-ts`)。自動変換は互換性リスクがあるため、必要な場合のみ利用を推奨します。
88
+ - `bkit build [--out-dir <dir>]` : ビヘイビア/リソースパックを `dist/` にコピー。スクリプトが TypeScript の場合は `@minecraft/core-build-tasks` でバンドルを実行。
89
+ - `bkit package [--out <name>]` : `dist/` 以下から `.mcpack`(両パック)、両方揃っていれば `.mcaddon` も作成。
90
+ - `bkit sync [--target <name>] [--build=false]` : ビルド成果物を `config.sync.targets` で指定した場所へコピー。`product` 指定で Minecraft 開発環境へデプロイ。
91
+ - `bkit link [create|remove|edit]` : 開発フォルダへシンボリックリンクを作成/解除/再作成。`--source dist|packs`、`--mode symlink|junction`、`--behavior/--resource` に対応。`dist` が無い場合は自動でビルド。
92
+ - `bkit deps` : 選択した Script API 依存を npm にインストールし、`bkit.config.json` `manifest.json` を同期。
93
+ - `bkit bump [major|minor|patch] [--to <version>] [--min-engine <x.y.z>]` : プロジェクト/マニフェストのバージョンを更新(任意で min_engine_version も上書き)。
94
+ - `bkit validate [--strict] [--json]` : config / manifest の整合性チェック。
95
+ - `bkit template <list|add|pull|rm>` : テンプレートレジストリ(`.bkit/templates*.json`)の管理。`custom-git` で任意のリポジトリを登録可能。
96
+ - `bkit watch` : `./project/<name>` 配下を監視し、変更ごとにビルドと同期を自動実行。`link` モードは非スクリプトをリンク共有し、TS JS にビルドして `scripts` だけコピー。
97
+ - `bkit setting [--lang <ja|en>] [--project-root <path>]` : CLI 設定を変更(言語/プロジェクト保存先)。フラグ未指定時は対話で選択。
98
+ - `bkit remove [--project <name>]` : プロジェクトフォルダを削除(`--yes` で確認スキップ)。リンク解除は `bkit link remove` を使用。
99
+ - `npm run build:local` / `npm run package:local` : 生成/インポートされた各プロジェクトには `tools/local-build.mjs` と `tools/local-package.mjs` を同梱。BedrockKit CLI がなくても、プロジェクト単体でビルド&.mcpack/.mcaddon パッケージ化が可能です。
98
100
 
99
101
  ## 同期ターゲットの書き方
100
102
  - **core-build-tasks 経由**(開発版 Minecraft へデプロイ)
package/dist/cli.js CHANGED
@@ -8,7 +8,9 @@ import { buildCommands } from "./commands/index.js";
8
8
  import { printBanner, printCommandHeader } from "./utils/ui.js";
9
9
  import { printHelp } from "./help.js";
10
10
  import { resolveLang, t } from "./utils/i18n.js";
11
- import { ensureSettings, loadSettings } from "./utils/settings.js";
11
+ import { ensureSettings, loadSettings, saveSettings } from "./utils/settings.js";
12
+ import { checkForUpdate } from "./utils/update.js";
13
+ import { spawn } from "node:child_process";
12
14
  const __filename = fileURLToPath(import.meta.url);
13
15
  const __dirname = dirname(__filename);
14
16
  const root = resolve(__dirname, "..");
@@ -46,8 +48,8 @@ function stripLang(argv) {
46
48
  return { args, langInput };
47
49
  }
48
50
  async function runInteractive(commands, lang) {
49
- printBanner();
50
- intro(pc.inverse(" Interactive Mode "));
51
+ printBanner(lang);
52
+ intro(pc.inverse(t("cli.interactiveMode", lang)));
51
53
  const choice = await select({
52
54
  message: t("cli.menuPrompt", lang),
53
55
  options: commands
@@ -83,16 +85,55 @@ async function main() {
83
85
  return;
84
86
  }
85
87
  const lang = resolveLang(langFlag, settings.lang?.value);
88
+ // Update check (prompt only when TTY)
89
+ const pkgName = pkg.name ?? "@bedrockkit/cli";
90
+ if (process.stdout.isTTY) {
91
+ const update = await checkForUpdate(pkgName, pkg.version ?? "0.0.0", settings.update?.skipVersion);
92
+ if (update?.shouldPrompt) {
93
+ const choice = await select({
94
+ message: `${t("update.available", lang, { current: pkg.version ?? "0.0.0", latest: update.latest })}\n${t("update.choice", lang)}`,
95
+ options: [
96
+ { value: "now", label: t("update.now", lang) },
97
+ { value: "later", label: t("update.later", lang) },
98
+ { value: "skip", label: t("update.skip", lang) },
99
+ ],
100
+ initialValue: "later",
101
+ });
102
+ if (!isCancel(choice)) {
103
+ if (choice === "skip") {
104
+ settings.update = { skipVersion: update.latest };
105
+ await saveSettings(settings);
106
+ }
107
+ else if (choice === "now") {
108
+ console.log(t("update.running", lang));
109
+ try {
110
+ await new Promise((resolvePromise, reject) => {
111
+ const child = spawn("npm", ["i", "-g", pkgName], {
112
+ stdio: "inherit",
113
+ shell: true,
114
+ });
115
+ child.on("error", reject);
116
+ child.on("exit", (code) => code === 0 ? resolvePromise() : reject(new Error(`npm exited ${code}`)));
117
+ });
118
+ console.log(t("update.done", lang));
119
+ }
120
+ catch {
121
+ console.error(t("update.failed", lang));
122
+ }
123
+ }
124
+ }
125
+ }
126
+ }
86
127
  const interactiveFlag = argvNoLang.includes("--interactive") || argvNoLang.includes("-i");
87
128
  const argv = argvNoLang.filter((arg) => arg !== "--interactive" && arg !== "-i");
88
129
  const [first, ...rest] = argv;
89
- const commands = buildCommands(lang, () => printHelp(commands));
130
+ const commands = buildCommands(lang, () => printHelp(commands, lang));
90
131
  if (interactiveFlag || !first) {
91
132
  await runInteractive(commands, lang);
92
133
  return;
93
134
  }
94
135
  if (first === "-h" || first === "--help") {
95
- printHelp(commands);
136
+ printHelp(commands, lang);
96
137
  return;
97
138
  }
98
139
  if (first === "-v" || first === "--version") {
@@ -101,8 +142,8 @@ async function main() {
101
142
  }
102
143
  const cmd = findCommand(first, commands);
103
144
  if (!cmd) {
104
- console.error(`Unknown command: ${first}`);
105
- printHelp(commands);
145
+ console.error(t("cli.unknownCommand", lang, { name: first }));
146
+ printHelp(commands, lang);
106
147
  process.exitCode = 1;
107
148
  return;
108
149
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
- import { rm, cp, stat } from "node:fs/promises";
1
+ import { rm, cp, stat, readdir, lstat, symlink } from "node:fs/promises";
2
2
  import { dirname, resolve, relative } from "node:path";
3
3
  import { spawn } from "node:child_process";
4
+ import { createRequire } from "node:module";
4
5
  import { createLogger } from "../core/logger.js";
5
6
  import { loadConfigContext, resolveConfigPath, resolveOutDir } from "../core/config.js";
6
7
  import { parseArgs } from "../utils/args.js";
7
8
  import { ensureDir, pathExists } from "../utils/fs.js";
8
9
  import { loadIgnoreRules, isIgnored } from "../utils/ignore.js";
9
- import { resolveLang } from "../utils/i18n.js";
10
+ import { resolveLang, t } from "../utils/i18n.js";
10
11
  function shouldSkipTsScript(entryRel, scriptEntry, src, root) {
11
12
  if (!scriptEntry)
12
13
  return false;
@@ -18,18 +19,30 @@ export async function handleBuild(ctx) {
18
19
  const lang = ctx.lang ?? resolveLang(parsed.flags.lang);
19
20
  const jsonOut = !!parsed.flags.json;
20
21
  const quiet = !!parsed.flags.quiet || !!parsed.flags.q;
21
- const { info: log } = createLogger({ json: jsonOut, quiet });
22
22
  const outDirOverride = (typeof parsed.flags["out-dir"] === "string" && parsed.flags["out-dir"]) ||
23
23
  (typeof parsed.flags.outdir === "string" && parsed.flags.outdir) ||
24
24
  undefined;
25
25
  const configPath = await resolveConfigPath(parsed.flags.config, lang);
26
26
  if (!configPath) {
27
- console.error("Config selection cancelled.");
27
+ console.error(t("common.configSelectionCancelled", lang));
28
28
  process.exitCode = 1;
29
29
  return;
30
30
  }
31
+ await runBuildWithMode({
32
+ configPath,
33
+ outDirOverride,
34
+ mode: "copy",
35
+ quiet,
36
+ jsonOut,
37
+ lang,
38
+ });
39
+ }
40
+ export async function runBuildWithMode(options) {
41
+ const { configPath, outDirOverride, mode, quiet, jsonOut } = options;
42
+ const resolvedLang = options.lang ?? resolveLang();
43
+ const { info: log } = createLogger({ json: jsonOut, quiet });
31
44
  if (!(await pathExists(configPath))) {
32
- console.error(`Config not found: ${configPath}`);
45
+ console.error(t("common.configNotFound", resolvedLang, { path: configPath }));
33
46
  process.exitCode = 1;
34
47
  return;
35
48
  }
@@ -44,11 +57,12 @@ export async function handleBuild(ctx) {
44
57
  const behaviorDest = behaviorSrc ? resolve(outDir, config.packs.behavior) : null;
45
58
  const resourceDest = resourceSrc ? resolve(outDir, config.packs.resource) : null;
46
59
  await rm(outDir, { recursive: true, force: true });
47
- const scriptEntryRel = config.script?.entry;
60
+ const scriptConfig = config.script;
61
+ const scriptEntryRel = scriptConfig?.entry;
48
62
  // ESLint (if script present)
49
- if (behaviorEnabled && config.script) {
63
+ if (behaviorEnabled && scriptConfig) {
50
64
  try {
51
- await runEslint(rootDir, quiet || jsonOut);
65
+ await runEslint(rootDir, Boolean(quiet || jsonOut), resolvedLang);
52
66
  }
53
67
  catch (err) {
54
68
  console.error(err instanceof Error ? err.message : String(err));
@@ -56,12 +70,16 @@ export async function handleBuild(ctx) {
56
70
  return;
57
71
  }
58
72
  }
59
- if (behaviorEnabled && config.script && scriptEntryRel) {
73
+ const shouldBundle = behaviorEnabled &&
74
+ scriptConfig &&
75
+ scriptEntryRel &&
76
+ (scriptConfig.language === "typescript" || scriptEntryRel.endsWith(".ts"));
77
+ if (shouldBundle) {
60
78
  const entryAbs = resolve(behaviorSrc, scriptEntryRel);
61
79
  const outFile = resolve(behaviorDest, scriptEntryRel.replace(/\.ts$/, ".js"));
62
80
  await ensureDir(dirname(outFile));
63
- const bundleTask = await getBundleTask();
64
- const externals = config.script.dependencies
81
+ const bundleTask = await getBundleTask(resolvedLang);
82
+ const externals = scriptConfig.dependencies
65
83
  ?.filter((d) => d.module_name !== "@minecraft/math" && d.module_name !== "@minecraft/vanilla-data")
66
84
  .map((d) => d.module_name) ?? [];
67
85
  const bundle = bundleTask({
@@ -71,48 +89,178 @@ export async function handleBuild(ctx) {
71
89
  external: externals,
72
90
  minifyWhitespace: false,
73
91
  });
74
- log(`Bundling script: ${entryAbs} -> ${outFile}`);
92
+ log(t("build.bundling", resolvedLang, { entry: entryAbs, out: outFile }));
75
93
  await runTask(bundle);
76
94
  }
77
- // Copy behavior pack, skipping TS script source if a bundle was produced.
78
- if (behaviorEnabled && behaviorSrc && behaviorDest) {
79
- await ensureDir(dirname(behaviorDest));
80
- await cp(behaviorSrc, behaviorDest, {
81
- recursive: true,
82
- force: true,
83
- filter: (src) => !isIgnored(src, rootDir, ignoreRules) &&
84
- !shouldSkipTsScript(scriptEntryRel ? dirname(scriptEntryRel).replace(/\\/g, "/") : "", scriptEntryRel, src, behaviorSrc),
85
- });
95
+ if (mode === "copy") {
96
+ // Copy behavior pack, skipping TS script source if a bundle was produced.
97
+ if (behaviorEnabled && behaviorSrc && behaviorDest) {
98
+ await ensureDir(dirname(behaviorDest));
99
+ await cp(behaviorSrc, behaviorDest, {
100
+ recursive: true,
101
+ force: true,
102
+ filter: (src) => !isIgnored(src, rootDir, ignoreRules) &&
103
+ !shouldSkipTsScript(scriptEntryRel ? dirname(scriptEntryRel).replace(/\\/g, "/") : "", scriptEntryRel, src, behaviorSrc),
104
+ });
105
+ }
106
+ // Copy resource pack as-is.
107
+ if (resourceEnabled && resourceSrc && resourceDest) {
108
+ await ensureDir(dirname(resourceDest));
109
+ await cp(resourceSrc, resourceDest, {
110
+ recursive: true,
111
+ force: true,
112
+ filter: (src) => !isIgnored(src, rootDir, ignoreRules),
113
+ });
114
+ }
86
115
  }
87
- // Copy resource pack as-is.
88
- if (resourceEnabled && resourceSrc && resourceDest) {
89
- await ensureDir(dirname(resourceDest));
90
- await cp(resourceSrc, resourceDest, {
91
- recursive: true,
92
- force: true,
93
- filter: (src) => !isIgnored(src, rootDir, ignoreRules),
94
- });
116
+ else {
117
+ // Link behavior/resource packs (lighter build)
118
+ if (behaviorEnabled && behaviorSrc && behaviorDest) {
119
+ await ensureDir(behaviorDest);
120
+ const hasTsScripts = await hasTypeScriptScripts(behaviorSrc);
121
+ const excludeScripts = (scriptConfig &&
122
+ scriptEntryRel &&
123
+ (scriptConfig.language === "typescript" || scriptEntryRel.endsWith(".ts"))) ||
124
+ hasTsScripts;
125
+ await linkEntries(behaviorSrc, behaviorDest, rootDir, ignoreRules, excludeScripts ? new Set(["scripts"]) : undefined);
126
+ if (excludeScripts && scriptEntryRel) {
127
+ await ensureDir(resolve(behaviorDest, dirname(scriptEntryRel)));
128
+ }
129
+ }
130
+ if (resourceEnabled && resourceSrc && resourceDest) {
131
+ await ensureDir(resourceDest);
132
+ await linkEntries(resourceSrc, resourceDest, rootDir, ignoreRules);
133
+ }
95
134
  }
96
135
  // Optionally ensure outDir exists if packs missing.
97
136
  await ensureDir(outDir);
98
137
  const outStat = await stat(outDir);
99
138
  if (!outStat.isDirectory()) {
100
- console.error(`Build output is not a directory: ${outDir}`);
139
+ console.error(t("build.outputNotDir", resolvedLang, { path: outDir }));
101
140
  process.exitCode = 1;
102
141
  return;
103
142
  }
104
143
  if (jsonOut) {
105
- console.log(JSON.stringify({ ok: true, outDir }, null, 2));
144
+ console.log(JSON.stringify({ ok: true, outDir, mode }, null, 2));
106
145
  }
107
146
  else {
108
- log(`Build completed -> ${outDir}`);
147
+ log(t("build.completed", resolvedLang, { mode, outDir }));
109
148
  }
110
149
  }
111
- async function getBundleTask() {
112
- const coreBuild = await import("@minecraft/core-build-tasks");
150
+ async function linkEntries(srcDir, destDir, rootDir, ignoreRules, excludeNames) {
151
+ const entries = await readdir(srcDir, { withFileTypes: true });
152
+ for (const entry of entries) {
153
+ if (excludeNames?.has(entry.name))
154
+ continue;
155
+ const srcPath = resolve(srcDir, entry.name);
156
+ if (isIgnored(srcPath, rootDir, ignoreRules))
157
+ continue;
158
+ const destPath = resolve(destDir, entry.name);
159
+ if (await pathExists(destPath)) {
160
+ await rm(destPath, { recursive: true, force: true });
161
+ }
162
+ if (entry.isDirectory()) {
163
+ const type = process.platform === "win32" ? "junction" : "dir";
164
+ await symlink(srcPath, destPath, type);
165
+ }
166
+ else if (entry.isSymbolicLink()) {
167
+ const stat = await lstat(srcPath);
168
+ const type = stat.isDirectory()
169
+ ? process.platform === "win32"
170
+ ? "junction"
171
+ : "dir"
172
+ : "file";
173
+ await symlink(srcPath, destPath, type);
174
+ }
175
+ else {
176
+ await symlink(srcPath, destPath, "file");
177
+ }
178
+ }
179
+ }
180
+ async function hasTypeScriptScripts(packRoot) {
181
+ const scriptsRoot = resolve(packRoot, "scripts");
182
+ if (!(await pathExists(scriptsRoot)))
183
+ return false;
184
+ const stack = [scriptsRoot];
185
+ while (stack.length) {
186
+ const dir = stack.pop();
187
+ if (!dir)
188
+ continue;
189
+ const entries = await readdir(dir, { withFileTypes: true });
190
+ for (const entry of entries) {
191
+ const fullPath = resolve(dir, entry.name);
192
+ if (entry.isDirectory()) {
193
+ stack.push(fullPath);
194
+ continue;
195
+ }
196
+ if (entry.isFile() && entry.name.endsWith(".ts")) {
197
+ return true;
198
+ }
199
+ }
200
+ }
201
+ return false;
202
+ }
203
+ export async function runScriptBuildOnly(options) {
204
+ const { configPath, outDirOverride, quiet, jsonOut, lang } = options;
205
+ const { info: log } = createLogger({ json: jsonOut, quiet });
206
+ const resolvedLang = lang ?? "ja";
207
+ if (!(await pathExists(configPath))) {
208
+ console.error(t("common.configNotFound", resolvedLang, { path: configPath }));
209
+ process.exitCode = 1;
210
+ return;
211
+ }
212
+ const configCtx = await loadConfigContext(configPath);
213
+ const { config, rootDir } = configCtx;
214
+ const ignoreRules = await loadIgnoreRules(rootDir);
215
+ const behaviorEnabled = configCtx.behavior.enabled;
216
+ const behaviorSrc = configCtx.behavior.path;
217
+ const scriptConfig = config.script;
218
+ const scriptEntryRel = scriptConfig?.entry;
219
+ if (!behaviorEnabled || !behaviorSrc || !scriptConfig || !scriptEntryRel) {
220
+ return;
221
+ }
222
+ const shouldBundle = scriptConfig.language === "typescript" || scriptEntryRel.endsWith(".ts");
223
+ if (!shouldBundle) {
224
+ return;
225
+ }
226
+ const outDir = resolveOutDir(configCtx, outDirOverride);
227
+ const behaviorDest = resolve(outDir, config.packs.behavior);
228
+ const scriptsOutDir = resolve(behaviorDest, "scripts");
229
+ try {
230
+ await runEslint(rootDir, Boolean(quiet || jsonOut), resolvedLang);
231
+ }
232
+ catch (err) {
233
+ console.error(err instanceof Error ? err.message : String(err));
234
+ process.exitCode = 1;
235
+ return;
236
+ }
237
+ await rm(scriptsOutDir, { recursive: true, force: true });
238
+ const entryAbs = resolve(behaviorSrc, scriptEntryRel);
239
+ const outFile = resolve(behaviorDest, scriptEntryRel.replace(/\.ts$/, ".js"));
240
+ await ensureDir(dirname(outFile));
241
+ const bundleTask = await getBundleTask(resolvedLang);
242
+ const externals = scriptConfig.dependencies
243
+ ?.filter((d) => d.module_name !== "@minecraft/math" && d.module_name !== "@minecraft/vanilla-data")
244
+ .map((d) => d.module_name) ?? [];
245
+ const bundle = bundleTask({
246
+ entryPoint: entryAbs,
247
+ outfile: outFile,
248
+ sourcemap: true,
249
+ external: externals,
250
+ minifyWhitespace: false,
251
+ });
252
+ log(t("build.bundling", resolvedLang, { entry: entryAbs, out: outFile }));
253
+ await runTask(bundle);
254
+ // Keep ignore rules loaded to match build behavior, even though we only emit scripts.
255
+ void ignoreRules;
256
+ }
257
+ async function getBundleTask(lang) {
258
+ const require = createRequire(import.meta.url);
259
+ const coreBuild = require("@minecraft/core-build-tasks");
113
260
  const task = coreBuild.bundleTask;
114
- if (!task)
115
- throw new Error("bundleTask not found in @minecraft/core-build-tasks");
261
+ if (!task) {
262
+ throw new Error(t("build.bundleTaskMissing", lang));
263
+ }
116
264
  return task;
117
265
  }
118
266
  function runTask(task) {
@@ -129,10 +277,10 @@ function runTask(task) {
129
277
  }
130
278
  });
131
279
  }
132
- async function runEslint(rootDir, quiet) {
280
+ async function runEslint(rootDir, quiet, lang) {
133
281
  const eslintPath = resolve(rootDir, "node_modules/.bin/eslint");
134
282
  if (!(await pathExists(eslintPath))) {
135
- throw new Error("eslint not found in project. Run npm install.");
283
+ throw new Error(t("build.eslintMissing", lang));
136
284
  }
137
285
  const args = ["packs/behavior/scripts/**/*.{ts,js}"];
138
286
  const useShell = process.platform === "win32";
@@ -147,7 +295,7 @@ async function runEslint(rootDir, quiet) {
147
295
  if (code === 0)
148
296
  resolve();
149
297
  else
150
- reject(new Error(`eslint exited with code ${code}`));
298
+ reject(new Error(t("build.eslintExit", lang, { code: String(code) })));
151
299
  });
152
300
  });
153
301
  }
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}