@azure-id/orc 0.55.2 → 0.56.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.
- package/CHANGELOG.md +75 -0
- package/README-id.md +578 -545
- package/README.md +74 -4
- package/bin/cli.js +29236 -29050
- package/bin/webui/i18n/en/overview.json +90 -89
- package/bin/webui/i18n/id/overview.json +90 -89
- package/bin/webui/js/03-md.js +9 -3
- package/bin/webui/js/panels/overview.js +453 -447
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,81 @@ Format: `### v<version> — <title> _(<date>)_`.
|
|
|
10
10
|
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
+
### v0.56.0 - a rename moved the command, and nobody could reach the fix _(2026-08-27)_
|
|
14
|
+
|
|
15
|
+
**READ THIS FIRST IF YOUR `orc upgrade` IS FAILING.** If you are on a version
|
|
16
|
+
before v0.56.0, this release cannot install itself - your `orc upgrade` is the
|
|
17
|
+
OLD one and it fails the same way every other route does. Run these three lines
|
|
18
|
+
once, by hand, and you are across for good:
|
|
19
|
+
|
|
20
|
+
- **Step 1 - release the command from the old package:** `npm uninstall -g orc`
|
|
21
|
+
- **Step 2 - install the current package:** `npm i -g @azure-id/orc`
|
|
22
|
+
- **Step 3 - re-apply it to your project:** `orc update` (add `--global` to also
|
|
23
|
+
refresh `~/.claude`)
|
|
24
|
+
|
|
25
|
+
Then check it worked: `orc version` should print 0.56.0 or newer, and
|
|
26
|
+
`orc doctor` should no longer mention `legacy-global-package`. Nothing in your
|
|
27
|
+
`.claude/` is touched by any of this, and your `orc.config.yaml` survives.
|
|
28
|
+
**Do not use `npm i -g -f`** - `--force` overwrites the command file and leaves
|
|
29
|
+
the old package installed underneath, owning nothing and never updated again.
|
|
30
|
+
From v0.56.0 onward `orc upgrade` does all three steps for you, announced.
|
|
31
|
+
|
|
32
|
+
**The package moved from the unscoped `orc` to `@azure-id/orc`, and every
|
|
33
|
+
upgrade path in the field died at once.** Both names declare the same `orc` bin.
|
|
34
|
+
npm links a bin only if the shim is unowned or owned by the installing package,
|
|
35
|
+
so with the old `orc` package still on disk globally, installing the new scoped
|
|
36
|
+
one failed with `EEXIST` on the command file itself. That error is about a FILE,
|
|
37
|
+
not a source - which is exactly why swapping sources changed nothing: the
|
|
38
|
+
tarball, the `github:` spec and the registry all failed identically, `orc
|
|
39
|
+
upgrade` walked all three and then printed npm's error wall, and `orc ui`'s
|
|
40
|
+
upgrade action did the same. `npm i -g -f` was the only thing that "worked", and
|
|
41
|
+
only by overwriting the command file and leaving the superseded package
|
|
42
|
+
installed underneath as a ghost that owns nothing and is never updated again.
|
|
43
|
+
|
|
44
|
+
- **The legacy package is EVICTED BEFORE any source is tried.** `orc upgrade`
|
|
45
|
+
now looks for a globally-installed package that is not this one and whose
|
|
46
|
+
`bin` declares `orc`, and uninstalls it first. Ordering is the point: the
|
|
47
|
+
collision fails every source identically, so walking the ladder first only
|
|
48
|
+
spends three network round trips arriving at the same `EEXIST`. It is
|
|
49
|
+
announced, never silent - it is a global npm mutation on the user's machine,
|
|
50
|
+
and the only one ORC makes for them.
|
|
51
|
+
- **Detection is by OWNERSHIP, never by directory name.** A directory called
|
|
52
|
+
`orc` that holds THIS package is not legacy, and a package that declares no
|
|
53
|
+
`orc` bin blocks nothing. A machine that never saw the rename land must not
|
|
54
|
+
have its working install uninstalled.
|
|
55
|
+
- **`--force` survives, scoped to the one case it is right for.** If a
|
|
56
|
+
collision remains after the eviction there was nothing to uninstall - an
|
|
57
|
+
ORPHANED shim npm left behind with no package owning it. `--force` overwrites
|
|
58
|
+
a file that belongs to nobody, which is the case it exists for.
|
|
59
|
+
`isBinShimCollision` requires the `EEXIST` code AND a path component that IS
|
|
60
|
+
the bin name, so it never reaches for `--force` on an unrelated `EEXIST`
|
|
61
|
+
deeper in a dependency tree.
|
|
62
|
+
- **The npm REGISTRY is now tried first**, then the tarball, then the `github:`
|
|
63
|
+
spec. The registry resolves a VERSION rather than a branch tip; the `github:`
|
|
64
|
+
spec shells out to git and fails under restricted git / NVM, so it stays last.
|
|
65
|
+
`--from` and `ORC_INSTALL_SPEC` still win outright, and the remembered
|
|
66
|
+
`last_good_spec` still leads.
|
|
67
|
+
- **`freshCliPath()` resolves the SCOPED directory first.** It looked only under
|
|
68
|
+
`<npm root -g>/orc`, which after the rename is the LEGACY package - so on a
|
|
69
|
+
machine mid-rename it resolved a path that existed and step 2 re-applied the
|
|
70
|
+
very templates step 1 had just superseded. A hit is now accepted only if the
|
|
71
|
+
manifest there says the current package name: a directory that exists is not
|
|
72
|
+
proof of identity.
|
|
73
|
+
- **`orc doctor` reports it by name.** `legacy-global-package` is the one
|
|
74
|
+
finding that explains why `orc upgrade` cannot fix anything else in the
|
|
75
|
+
report. It is deliberately NOT `--fix`-able: `orc doctor --fix` is scoped to
|
|
76
|
+
this project's `.claude/`, and evicting a global npm package is neither
|
|
77
|
+
project-scoped nor something to do without saying so - so its `fix_command`
|
|
78
|
+
points at `orc upgrade`, which does it announced. `FINDING_ROUTE` sends it to
|
|
79
|
+
Maintenance, where the upgrade action is.
|
|
80
|
+
- **A CAUTION at the top of the README carries the one-time manual fix**, because
|
|
81
|
+
the fix cannot reach the people who need it most: a user still on the old
|
|
82
|
+
package does not have this code, so their `orc upgrade` still fails. Two lines
|
|
83
|
+
(`npm uninstall -g orc` then `npm i -g @azure-id/orc`) get them across once,
|
|
84
|
+
and from here `orc upgrade` handles it.
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
13
88
|
### v0.55.2 - a gate that is never probed is a gate that is always off _(2026-08-27)_
|
|
14
89
|
|
|
15
90
|
**`/orc-quick` and `/orc-fast` documented the foreign-worker option and then
|