@bepack/cli 0.1.0-beta.6 → 0.1.0-beta.7
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 +89 -224
- package/README.zh-CN.md +95 -223
- package/dist/cli.js +11 -11
- package/dist/index.js +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -18,88 +18,46 @@
|
|
|
18
18
|
|
|
19
19
|
[中文](./README.zh-CN.md) | English
|
|
20
20
|
|
|
21
|
-
BePack
|
|
21
|
+
BePack keeps an add-on project in one workflow: pack manifests, Script API dependencies, TypeScript builds, copying into Minecraft, and `.mcpack` / `.mcaddon` releases.
|
|
22
22
|
|
|
23
|
-
##
|
|
23
|
+
## Features
|
|
24
24
|
|
|
25
|
-
- Create a
|
|
26
|
-
- Keep `manifest.json` in sync without overwriting fields
|
|
27
|
-
-
|
|
28
|
-
- Type-check
|
|
29
|
-
- Inject build-time
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
- Copy packs into a Minecraft development folder and create release archives.
|
|
34
|
-
- Inspect Bedrock `.cpuprofile` captures without counting idle tick gaps as CPU work.
|
|
25
|
+
- Create a config from scratch or import an existing BP/RP manifest.
|
|
26
|
+
- Keep `manifest.json` in sync without overwriting fields BePack does not own.
|
|
27
|
+
- Choose a `preserve` (incremental) or `clean` (config-generated) manifest merge.
|
|
28
|
+
- Type-check and bundle Script API TypeScript into the pack's `scripts/` folder.
|
|
29
|
+
- Inject build-time flags with `compile.define` or `replace` tokens.
|
|
30
|
+
- Resolve `@minecraft/*` dependencies and write concrete versions.
|
|
31
|
+
- Copy packs into a development folder and build release archives.
|
|
32
|
+
- Inspect Bedrock `.cpuprofile` captures, ignoring idle tick gaps.
|
|
35
33
|
|
|
36
34
|
## Requirements
|
|
37
35
|
|
|
38
36
|
- Node.js 20 or later.
|
|
39
|
-
- A
|
|
37
|
+
- A behavior pack, a resource pack, or both.
|
|
40
38
|
- `package.json` when you use managed Script API dependencies.
|
|
41
39
|
|
|
42
|
-
## Create a
|
|
43
|
-
|
|
44
|
-
For a new behavior-pack project, start with [create-mcbe](https://www.npmjs.com/package/create-mcbe):
|
|
40
|
+
## Create a project
|
|
45
41
|
|
|
46
42
|
```bash
|
|
47
43
|
npm create mcbe
|
|
48
44
|
```
|
|
49
45
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
npm install -g @bepack/cli
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
You can also install it locally with `npm install -D @bepack/cli`; in that case, use `npx bepack` or package scripts.
|
|
57
|
-
|
|
58
|
-
If you need a fresh BePack configuration, generate one and then edit the generated values to match your project:
|
|
59
|
-
|
|
60
|
-
```bash
|
|
61
|
-
bepack init
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
The starter config contains a BP, a TypeScript entry at `src/main.ts`, and generated UUIDs. Run the first build with dependency installation:
|
|
46
|
+
[create-mcbe](https://www.npmjs.com/package/create-mcbe) scaffolds a project and documents its prompts. To set up BePack by hand:
|
|
65
47
|
|
|
66
48
|
```bash
|
|
67
|
-
|
|
49
|
+
npm install -D @bepack/cli
|
|
50
|
+
npx bepack init # fresh config
|
|
51
|
+
npx bepack init --from-bp bp/manifest.json # import a BP
|
|
52
|
+
npx bepack init --from-bp bp/manifest.json --from-rp rp/manifest.json
|
|
53
|
+
npx bepack build --install # first build
|
|
68
54
|
```
|
|
69
55
|
|
|
70
|
-
|
|
56
|
+
`--from-bp` / `--from-rp` read names, UUIDs, versions, manifest format, and supported Script API dependencies from the manifests, and enable compilation only when a matching source file exists. Add `--dry-run` to preview and `--format js|mjs` for a JavaScript config. A global install (`npm i -g @bepack/cli`) drops the `npx`.
|
|
71
57
|
|
|
72
|
-
|
|
58
|
+
## Configuration
|
|
73
59
|
|
|
74
|
-
|
|
75
|
-
# Behavior pack only
|
|
76
|
-
bepack init --from-bp bp/manifest.json
|
|
77
|
-
|
|
78
|
-
# Behavior pack and resource pack
|
|
79
|
-
bepack init --from-bp bp/manifest.json --from-rp rp/manifest.json
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
This creates `bepack.config.ts` from the pack roots, names, UUIDs, versions, manifest format, and supported Script API dependencies it finds. A BP script module becomes a TypeScript build configuration only when a matching source file (`src/<entry>.ts`, `.mts`, `.js` or `.mjs`) actually exists — a pack whose scripts already live inside it keeps compilation disabled instead of generating an entry that would fail the first build. Missing `tsconfig.json` (when a TypeScript source exists) is reported and disables type checking in the generated config.
|
|
83
|
-
|
|
84
|
-
`--dry-run` prints what would be created without writing anything.
|
|
85
|
-
|
|
86
|
-
Useful variations:
|
|
87
|
-
|
|
88
|
-
```bash
|
|
89
|
-
# Generate JavaScript or ESM JavaScript config instead of TypeScript
|
|
90
|
-
bepack init --format js
|
|
91
|
-
bepack init --format mjs
|
|
92
|
-
|
|
93
|
-
# Run from outside the project directory
|
|
94
|
-
bepack init --cwd path/to/project --from-bp bp/manifest.json
|
|
95
|
-
|
|
96
|
-
# Replace an existing generated config deliberately
|
|
97
|
-
bepack init --from-bp bp/manifest.json --force
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
## Minimal configuration
|
|
101
|
-
|
|
102
|
-
BePack loads `bepack.config.ts`, `bepack.config.mjs`, or `bepack.config.js` from the project directory. This is a typical Script API behavior-pack setup:
|
|
60
|
+
BePack loads `bepack.config.ts`, `bepack.config.mjs`, or `bepack.config.js` from the project root:
|
|
103
61
|
|
|
104
62
|
```ts
|
|
105
63
|
import { defineConfig } from "@bepack/cli";
|
|
@@ -130,11 +88,9 @@ export default defineConfig({
|
|
|
130
88
|
});
|
|
131
89
|
```
|
|
132
90
|
|
|
133
|
-
Generate new UUIDs for a new pack
|
|
91
|
+
Generate new UUIDs for a new pack instead of reusing another add-on's. A data-only behavior pack omits `moduleUuid` and `compile`; a resource-pack-only project configures `packs.rp` with its `root`, header `uuid`, and resources `moduleUuid`.
|
|
134
92
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
The exact folder names are configurable. This layout matches the example above:
|
|
93
|
+
The folder names are configurable. The example above expects:
|
|
138
94
|
|
|
139
95
|
```text
|
|
140
96
|
my-addon/
|
|
@@ -149,197 +105,115 @@ my-addon/
|
|
|
149
105
|
└── dist/ # .mcpack / .mcaddon output
|
|
150
106
|
```
|
|
151
107
|
|
|
152
|
-
When using a resource pack too, add an `rp/` directory and a `packs.rp` entry. BePack maintains the BP/RP manifest relationship when both packs are configured.
|
|
153
|
-
|
|
154
108
|
## Everyday workflow
|
|
155
109
|
|
|
156
110
|
```bash
|
|
157
|
-
|
|
158
|
-
bepack build
|
|
159
|
-
|
|
160
|
-
#
|
|
161
|
-
bepack build
|
|
162
|
-
|
|
163
|
-
# Watch files and rebuild during development
|
|
164
|
-
bepack dev
|
|
165
|
-
|
|
166
|
-
# Create a distributable archive (builds first)
|
|
167
|
-
bepack pack
|
|
168
|
-
|
|
169
|
-
# Build and package in one command
|
|
170
|
-
bepack build --pack
|
|
111
|
+
bepack build --install # resolve dependencies, update manifests, build
|
|
112
|
+
bepack build # build with dependencies already installed
|
|
113
|
+
bepack dev # watch and rebuild
|
|
114
|
+
bepack pack # build, then create an archive
|
|
115
|
+
bepack build --pack # build and package in one command
|
|
171
116
|
```
|
|
172
117
|
|
|
173
|
-
`bepack pack` builds first
|
|
174
|
-
|
|
175
|
-
Use `bepack install` on its own when you only want to update managed dependencies and manifests. Set `target` in the config, or temporarily override it while installing and building:
|
|
118
|
+
`bepack pack` builds first so it cannot ship stale `scripts/*.js`; use `--no-build` to zip the pack folders as they are. Run `bepack install` alone to only refresh dependencies and manifests, and `--target` to override the Minecraft version for a single run:
|
|
176
119
|
|
|
177
120
|
```bash
|
|
178
121
|
bepack install --target 1.21.120
|
|
179
|
-
bepack build --install --target 1.21.120
|
|
180
122
|
```
|
|
181
123
|
|
|
182
|
-
|
|
124
|
+
## Type checking
|
|
183
125
|
|
|
184
|
-
|
|
126
|
+
`bepack build` and `bepack dev` run `tsc --noEmit` before Rolldown and stop with `TYPECHECK_FAILED` instead of emitting a broken pack. Skip it with `--skip-typecheck` or `compile.typecheck: false`; custom Rolldown options do not disable it.
|
|
185
127
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
```ts
|
|
189
|
-
export default defineConfig({
|
|
190
|
-
packs: {
|
|
191
|
-
bp: {
|
|
192
|
-
compile: {
|
|
193
|
-
entry: "src/main.ts",
|
|
194
|
-
// Anything you can type in a terminal. Default: "tsc --noEmit".
|
|
195
|
-
typecheckCommand: "bun check",
|
|
196
|
-
// typecheckCommand: "tsc-rs --noEmit",
|
|
197
|
-
// typecheckCommand: "npx tsc --noEmit",
|
|
198
|
-
// Quote-aware; backslash only escapes a quote, so Windows paths
|
|
199
|
-
// survive as written:
|
|
200
|
-
// typecheckCommand: 'node "C:\\tools\\my checker.mjs"',
|
|
201
|
-
},
|
|
202
|
-
},
|
|
203
|
-
},
|
|
204
|
-
});
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
The same thing as an object, or per command from the CLI:
|
|
128
|
+
The checker is any command line you supply:
|
|
208
129
|
|
|
209
130
|
```ts
|
|
210
131
|
compile: {
|
|
211
|
-
|
|
212
|
-
|
|
132
|
+
entry: "src/main.ts",
|
|
133
|
+
typecheckCommand: "bun check", // default: "tsc --noEmit"
|
|
213
134
|
}
|
|
214
135
|
```
|
|
215
136
|
|
|
216
137
|
```bash
|
|
217
|
-
bepack build --typecheck-command "
|
|
218
|
-
bepack dev --typecheck-command "tsc-rs --noEmit"
|
|
219
|
-
bepack pack --typecheck-command "npx tsc --noEmit"
|
|
138
|
+
bepack build --typecheck-command "tsc-rs --noEmit"
|
|
220
139
|
```
|
|
221
140
|
|
|
222
|
-
|
|
141
|
+
BePack adds `--project` and cache flags only to its own default; a custom command runs exactly as written. The object form (`typecheck: { command, args }`), precedence, and the deprecated `useNpx` settings are in [the reference guide](./reference.md).
|
|
223
142
|
|
|
224
|
-
|
|
225
|
-
| --- | --- |
|
|
226
|
-
| the default | *(leave it unset)* → `tsc --noEmit --project <tsconfig>` |
|
|
227
|
-
| your project's TypeScript | `"npx tsc --noEmit"` |
|
|
228
|
-
| Bun's fast checker | `"bun check"` (uses Bun's bundled TypeScript, not your pinned `typescript`) |
|
|
229
|
-
| native TS port (Rust) | `"tsc-rs --noEmit"` |
|
|
230
|
-
| Vue / Svelte | `"vue-tsc --noEmit"` / `"svelte-check"` |
|
|
143
|
+
## Script API dependencies
|
|
231
144
|
|
|
232
|
-
|
|
145
|
+
Supported `@minecraft/*` entries accept `stable`, `beta`, `preview`, or an exact version. Online commands (`install`, `build --install`) resolve selectors to concrete versions and write them to `package.json` and the BP manifest; offline commands keep the manifest value, and an exact config version always wins.
|
|
233
146
|
|
|
234
|
-
|
|
147
|
+
## Customize the build
|
|
235
148
|
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
The version written to `manifest.json` comes from, in order: an exact version in your config (`"@minecraft/server": "2.10.0"` — always wins), the version resolved by `bepack install` / `build --install` (online), then the version already stored in the manifest (offline `build` / `dev` / `manifest` never touch the network). Every write is logged — `manifest @minecraft/server: 2.0.0 -> 2.10.0 (specifier "stable", install)` or `... kept from manifest ... — run \`bepack install\` to refresh` — so a stale channel version is never silent again.
|
|
239
|
-
|
|
240
|
-
## Customize the Rolldown build
|
|
241
|
-
|
|
242
|
-
`packs.bp.compile` covers the common cases. When you need the rest of Rolldown (extra plugins, `resolve.alias`, `treeshake`, `sourcemap`, ...), pass your own options inline, through a function, or through a config file:
|
|
149
|
+
For Rolldown plugins, aliases, sourcemaps, and the rest, pass options inline (or as a function), or point at your own config file:
|
|
243
150
|
|
|
244
151
|
```ts
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
entry: "src/main.ts",
|
|
251
|
-
// Object form, or a function (options, context) => options
|
|
252
|
-
rolldown: {
|
|
253
|
-
resolve: { alias: { "@lib": "./src/lib" } },
|
|
254
|
-
output: { sourcemap: true },
|
|
255
|
-
},
|
|
256
|
-
// Or a config file (relative to the project root):
|
|
257
|
-
// rolldownConfig: "rolldown.bp.config.ts",
|
|
258
|
-
},
|
|
259
|
-
},
|
|
152
|
+
compile: {
|
|
153
|
+
entry: "src/main.ts",
|
|
154
|
+
rolldown: {
|
|
155
|
+
resolve: { alias: { "@lib": "./src/lib" } },
|
|
156
|
+
output: { sourcemap: true },
|
|
260
157
|
},
|
|
261
|
-
|
|
158
|
+
// rolldownConfig: "rolldown.bp.config.ts",
|
|
159
|
+
}
|
|
262
160
|
```
|
|
263
161
|
|
|
264
162
|
```bash
|
|
265
|
-
# Temporarily replace the configured file
|
|
266
163
|
bepack build --rolldown-config rolldown.staging.mjs
|
|
267
|
-
bepack dev --rolldown-config rolldown.staging.mjs
|
|
268
164
|
```
|
|
269
165
|
|
|
270
|
-
Your options are merged on top of
|
|
271
|
-
|
|
272
|
-
## Run in Minecraft during development
|
|
166
|
+
Your options are merged on top of BePack's: plugins are appended, `external` is unioned, and `resolve` / `output` / `transform` merge one level deep. `input` and the output location stay under BePack's control. See the reference guide for the full merge table.
|
|
273
167
|
|
|
274
|
-
|
|
168
|
+
## Run in Minecraft
|
|
275
169
|
|
|
276
170
|
```ts
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
type: "gameRoot",
|
|
284
|
-
path: "C:/Users/you/AppData/Local/Packages/Microsoft.MinecraftUWP_8wekyb3d8bbwe/LocalState/games/com.mojang",
|
|
285
|
-
},
|
|
171
|
+
copy: {
|
|
172
|
+
defaultTarget: "minecraft",
|
|
173
|
+
targets: {
|
|
174
|
+
minecraft: {
|
|
175
|
+
type: "gameRoot",
|
|
176
|
+
path: "C:/Users/you/AppData/Local/Packages/Microsoft.MinecraftUWP_8wekyb3d8bbwe/LocalState/games/com.mojang",
|
|
286
177
|
},
|
|
287
178
|
},
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
},
|
|
291
|
-
});
|
|
179
|
+
},
|
|
180
|
+
dev: { copy: true },
|
|
292
181
|
```
|
|
293
182
|
|
|
294
183
|
```bash
|
|
295
|
-
#
|
|
296
|
-
bepack
|
|
297
|
-
|
|
298
|
-
# Or copy a completed build once
|
|
299
|
-
bepack build --copy
|
|
184
|
+
bepack dev # build, then rebuild and copy on change
|
|
185
|
+
bepack build --copy # copy a finished build once
|
|
300
186
|
bepack copy --target minecraft
|
|
301
187
|
```
|
|
302
188
|
|
|
303
|
-
`gameRoot` writes behavior packs to `development_behavior_packs` and resource packs to `development_resource_packs`.
|
|
189
|
+
`gameRoot` writes behavior packs to `development_behavior_packs` and resource packs to `development_resource_packs`. Custom targets and include rules are covered in the reference guide.
|
|
304
190
|
|
|
305
|
-
## Inspect
|
|
191
|
+
## Inspect CPU profiles
|
|
306
192
|
|
|
307
|
-
|
|
193
|
+
Bedrock does not sample idle time, so the tick gap arrives as a large `timeDeltas` value on the next sample. `bepack profile` drops deltas above `--gap` (default `5` ms) and ranks functions by real accumulated time:
|
|
308
194
|
|
|
309
195
|
```bash
|
|
310
|
-
# Overview, with bursts sorted by busy time
|
|
311
196
|
bepack profile summary bedrock.cpuprofile
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
bepack profile
|
|
315
|
-
|
|
316
|
-
# Self or inclusive functions inside a time window
|
|
317
|
-
bepack profile top bedrock.cpuprofile --from 2900 --to 2950 --by total
|
|
318
|
-
|
|
319
|
-
# Compare two captures; falls back to whole active samples if one side has no burst
|
|
320
|
-
bepack profile diff before.cpuprofile after.cpuprofile
|
|
197
|
+
bepack profile bursts bedrock.cpuprofile
|
|
198
|
+
bepack profile top bedrock.cpuprofile --from 2900 --to 2950 --by total
|
|
199
|
+
bepack profile diff before.cpuprofile after.cpuprofile
|
|
321
200
|
```
|
|
322
201
|
|
|
323
|
-
Use `--json` for machine-readable output and `--root <dir>` to shorten
|
|
202
|
+
Use `--json` for machine-readable output and `--root <dir>` to shorten paths. No `bepack.config` is required.
|
|
324
203
|
|
|
325
204
|
## Package releases
|
|
326
205
|
|
|
327
|
-
Set an output name and directory with `pack`. `{name}` and `{version}` are replaced from the top-level config:
|
|
328
|
-
|
|
329
206
|
```ts
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
outDir: "releases",
|
|
335
|
-
},
|
|
336
|
-
});
|
|
207
|
+
pack: {
|
|
208
|
+
name: "{name}-{version}",
|
|
209
|
+
outDir: "releases",
|
|
210
|
+
}
|
|
337
211
|
```
|
|
338
212
|
|
|
339
213
|
```bash
|
|
340
214
|
bepack pack
|
|
341
215
|
bepack pack --name my-addon-preview
|
|
342
|
-
bepack pack --no-build
|
|
216
|
+
bepack pack --no-build
|
|
343
217
|
```
|
|
344
218
|
|
|
345
219
|
| Configured packs | Output |
|
|
@@ -348,11 +222,11 @@ bepack pack --no-build # zip the pack folders as-is, without building first
|
|
|
348
222
|
| RP only | `.mcpack` |
|
|
349
223
|
| BP and RP | `.mcaddon` |
|
|
350
224
|
|
|
351
|
-
When
|
|
225
|
+
When the include list leaves files out, BePack lists them and points at `packs.bp.include` / `packs.rp.include` instead of dropping them silently.
|
|
352
226
|
|
|
353
227
|
### Pack optimization (`__brarchive`)
|
|
354
228
|
|
|
355
|
-
Bedrock 1.26.40
|
|
229
|
+
Bedrock 1.26.40+ can read a pack's loose files from `__brarchive/` archives, the same layout Mojang ships. Turn it on for packaging:
|
|
356
230
|
|
|
357
231
|
```ts
|
|
358
232
|
pack: { outDir: "dist", optimize: true }
|
|
@@ -360,40 +234,31 @@ pack: { outDir: "dist", optimize: true }
|
|
|
360
234
|
|
|
361
235
|
```bash
|
|
362
236
|
bepack pack --optimize # --no-optimize turns it back off
|
|
363
|
-
bepack build --pack --optimize
|
|
364
237
|
```
|
|
365
238
|
|
|
366
|
-
BePack writes `header.pack_optimization_version: "0.1.0"`
|
|
367
|
-
|
|
368
|
-
Your pack folder on disk is never modified, and `bepack copy` only optimizes when you ask it to.
|
|
239
|
+
BePack writes `header.pack_optimization_version: "0.1.0"` (the field that enables archives), archives registry folders such as `entities/` and `items/`, and keeps path-addressed files such as `functions/` and `textures/` loose with name stubs. Pack folders on disk are never modified.
|
|
369
240
|
|
|
370
|
-
>
|
|
371
|
-
|
|
372
|
-
Copies to a development folder stay loose by default. Turn on `copy.optimize` (or pass `--optimize` to `copy` / `dev` / `build --copy`) to put the **optimized** shape into the dev folder, so you can catch archive-only problems in-game before shipping:
|
|
373
|
-
|
|
374
|
-
```ts
|
|
375
|
-
copy: { defaultTarget: "minecraft", optimize: true }
|
|
376
|
-
```
|
|
241
|
+
> Only 1.26.40+ clients see archived content; older clients see just the loose files. `copy.optimize` gives the dev folder the same shape.
|
|
377
242
|
|
|
378
243
|
## Commands at a glance
|
|
379
244
|
|
|
380
|
-
| Command | Purpose
|
|
381
|
-
| ------------------------- |
|
|
382
|
-
| `bepack init` | Create a config, or import one with `--from-bp` / `--from-rp`.
|
|
383
|
-
| `bepack install` | Resolve managed dependencies and update `package.json` and manifests.
|
|
384
|
-
| `bepack manifest` | Update manifests without running dependency installation.
|
|
385
|
-
| `bepack build` | Patch manifests, type-check
|
|
386
|
-
| `bepack dev` | Build once, then watch and rebuild
|
|
387
|
-
| `bepack copy` | Copy configured packs to a development target.
|
|
388
|
-
| `bepack pack` | Build, then create a `.mcpack` or `.mcaddon` (`--no-build` to skip).
|
|
389
|
-
| `bepack profile summary` | Inspect
|
|
390
|
-
| `bepack config --summary` | Inspect the resolved configuration.
|
|
245
|
+
| Command | Purpose |
|
|
246
|
+
| ------------------------- | -------------------------------------------------------------------- |
|
|
247
|
+
| `bepack init` | Create a config, or import one with `--from-bp` / `--from-rp`. |
|
|
248
|
+
| `bepack install` | Resolve managed dependencies and update `package.json` and manifests. |
|
|
249
|
+
| `bepack manifest` | Update manifests without running dependency installation. |
|
|
250
|
+
| `bepack build` | Patch manifests, type-check, then compile the configured BP source. |
|
|
251
|
+
| `bepack dev` | Build once, then watch and rebuild. |
|
|
252
|
+
| `bepack copy` | Copy configured packs to a development target. |
|
|
253
|
+
| `bepack pack` | Build, then create a `.mcpack` or `.mcaddon` (`--no-build` to skip). |
|
|
254
|
+
| `bepack profile summary` | Inspect `.cpuprofile` captures and locate slow ticks. |
|
|
255
|
+
| `bepack config --summary` | Inspect the resolved configuration. |
|
|
391
256
|
|
|
392
|
-
All project commands accept `--cwd <
|
|
257
|
+
All project commands accept `--cwd <dir>`, `--config <path>`, `--dry-run`, and `--json`. `bepack <command> --help` lists every option.
|
|
393
258
|
|
|
394
|
-
##
|
|
259
|
+
## Documentation
|
|
395
260
|
|
|
396
|
-
|
|
261
|
+
For complete configuration fields, custom copy targets, inclusion rules, dependency resolvers, plugins, hooks, and replacement tokens, read [the reference guide](./reference.md).
|
|
397
262
|
|
|
398
263
|
## License
|
|
399
264
|
|