Files
unity-builder/package.json
Frostebite d829bfc901 chore: v5 prep — dep bumps, linux64 extension, legacy CLI removal, Cli→PluginOptions rename (#837)
* fix: remove concurrency block from reusable workflow to prevent deadlock

When integrity-check.yml calls validate-orchestrator-integration.yml via
workflow_call, both workflows resolve github.workflow to the same name
("Integrity"), creating identical concurrency groups. GitHub detects this
as a deadlock and cancels the run.

Fix: remove concurrency from the reusable workflow entirely — the caller
already manages concurrency for the group.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* feat: add linux64RemoveExecutableExtension parameter (default: false)

Adds configurable control over the `.x86_64` file extension for
StandaloneLinux64 builds. Default is `false` (keep the extension),
matching Unity's native behavior.

Set `linux64RemoveExecutableExtension: true` to restore the
extensionless behavior from v4.

Rebased from kitlith's original PR #726. Default flipped for v5.

Closes #722

Co-Authored-By: kitlith <kitlith@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* chore: bump production dependencies (minor/patch)

- @actions/cache ^4.0.0 → ^4.1.0
- @actions/github ^6.0.0 → ^6.0.1
- commander ^9.0.0 → ^9.5.0
- nanoid ^3.3.1 → ^3.3.12
- reflect-metadata ^0.1.13 → ^0.2.2
- semver ^7.5.2 → ^7.7.4
- yaml ^2.2.2 → ^2.8.4

All minor/patch bumps. Major bumps (@actions/core 3.x, nanoid 5.x ESM)
deferred to a separate PR.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* chore: remove legacy CLI bootstrap and unused deps

Remove InitCliMode/RunCli, @CliFunction decorator, and
CliFunctionsRepository. The only registered CLI mode was `print-input`
which is unused — all real CLI functionality lives in the orchestrator
repo now.

This drops 3 dependencies:
- commander-ts (decorator-based CLI, needed reflect-metadata)
- reflect-metadata (peer dep of commander-ts)
- commander (only used for OptionValues type)

Cli.options, Cli.isCliMode, and Cli.query remain — the orchestrator
plugin sets these directly without commander.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* refactor: rename Cli to PluginOptions, remove cli directory

Cli class was a legacy name from when unity-builder had its own CLI.
Now it's just an options bridge for plugins — renamed to PluginOptions
with a backwards-compatible Cli alias for the orchestrator.

Moved from src/model/cli/cli.ts to src/model/plugin-options.ts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(ci): fix orchestrator integration test failures

Two issues:
1. jest → vitest: the repo migrated to vitest but the integration
   workflow still called `npx jest`. Changed to `npx vitest run`.

2. Git checkout corruption: when the orchestrator branch matching the
   PR doesn't exist, the first checkout fails leaving a corrupted .git
   directory. The fallback step then hits `fatal: ambiguous argument
   'HEAD'`. Fix: add `clean: true` to all fallback checkout steps so
   they wipe the broken state before re-cloning.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(ci): wipe .git before fallback checkout, fix remaining jest syntax

- Add `rm -rf .git` step before fallback checkout to clear corrupted
  state when branch-matching checkout fails
- Fix unit test step: replace jest --testPathPattern with vitest
  positional filters (same fix as orchestrator PR #18)
- Replace all --detectOpenHandles --forceExit --runInBand with
  vitest --no-file-parallelism

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* refactor: simplify plugin mode check

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: kitlith <kitlith@users.noreply.github.com>
2026-05-07 04:42:29 +01:00

74 lines
2.0 KiB
JSON

{
"name": "unity-builder",
"version": "3.0.0",
"description": "Build Unity projects for different platforms.",
"main": "dist/index.js",
"repository": "git@github.com:game-ci/unity-builder.git",
"author": "Webber <webber@takken.io>",
"license": "MIT",
"scripts": {
"prepare": "husky",
"build": "yarn && tsc && ncc build lib --source-map --license licenses.txt",
"test": "node scripts/ensure-husky.mjs && vitest run",
"test:watch": "vitest",
"test:ci": "vitest run",
"coverage": "vitest run --coverage",
"lint": "yarn oxlint --report-unused-disable-directives",
"format": "oxfmt --write",
"format:check": "oxfmt --check",
"typecheck": "tsc --noEmit",
"typecheck:tsgo": "tsgo --noEmit",
"setup:hooks": "node scripts/ensure-husky.mjs"
},
"lint-staged": {
"*.@(ts|tsx|mts|js|jsx|mjs|cjs)": [
"oxlint --fix --quiet",
"oxfmt --write"
],
"*.@(json|jsonc|json5|md|mdx|yaml|yml|css|scss|sass|html|toml)": "oxfmt --write",
".github/workflows/*.@(yml|yaml)": "actionlint"
},
"engines": {
"node": ">=18.x"
},
"dependencies": {
"@actions/cache": "^4.1.0",
"@actions/core": "^1.11.1",
"@actions/exec": "^1.1.1",
"@actions/github": "^6.0.1",
"md5": "^2.3.0",
"nanoid": "^3.3.12",
"semver": "^7.7.4",
"ts-md5": "^1.3.1",
"unity-changeset": "^3.1.0",
"yaml": "^2.8.4"
},
"devDependencies": {
"@types/node": "^17.0.23",
"@types/semver": "^7.3.9",
"@typescript/native-preview": "^7.0.0-dev.20260505.1",
"@vercel/ncc": "^0.36.1",
"@vitest/coverage-istanbul": "^4.1.5",
"cross-env": "^7.0.3",
"eslint": "^10.3.0",
"eslint-plugin-unicorn": "^64.0.0",
"husky": "9",
"js-yaml": "^4.1.0",
"lint-staged": "^16.4.0",
"node-fetch": "2",
"oxfmt": "^0.48.0",
"oxlint": "^1.63.0",
"ts-node": "10.8.1",
"typescript": "4.7.4",
"vite": "^7",
"vitest": "^4",
"yarn-audit-fix": "^9.3.8"
},
"packageManager": "yarn@4.14.1",
"dependenciesMeta": {
"lefthook": {
"built": true
}
}
}