Put the redux workspace where everything names it

webapp/package.json lists platform/@hanzoteam/redux, check-external-links.mjs
reads platform/@hanzoteam/redux/src, and the package's own homepage and
repository.directory both say platform/@hanzoteam/redux. The directory was
platform/mattermost-redux, so none of those resolved.

npm ci says nothing about it — a workspace whose directory is absent is
silently dropped — and then the very next command dies:

  Failed to build subpackages
  ENOENT: no such file or directory, open 'platform/@hanzoteam/redux/package.json'
      at getPlatformPackagesContainingCommand (scripts/utils.mjs:17)

scripts/build.mjs reads the workspace list from package.json and opens each
one, so it does not get npm's forgiveness.

A scoped name is two directories, not one, and three things counted the old
depth: the project references and compiled sources are one `../` further out,
postbuild copies from the channels path that moved with it, and the ignore
globs read platform/*/lib, which stops matching one level down and would have
committed 37,093 lines of build output.

The lockfile gains the workspace entry that its absence had left out.

Co-authored-by: Hanzo Dev <[email protected]>
This commit is contained in:
2026-09-08 13:43:58 -07:00
co-authored by Hanzo Dev
parent 65d285cc8e
commit 045c8b0fa2
7 changed files with 47 additions and 18 deletions
+2 -2
View File
@@ -9,8 +9,8 @@ node_modules
channels/dist channels/dist
playbooks/dist playbooks/dist
boards/dist boards/dist
platform/*/dist platform/**/dist
platform/*/lib platform/**/lib
config.override.mk config.override.mk
build/test-results*.xml build/test-results*.xml
+36 -7
View File
@@ -3399,12 +3399,6 @@
"resolved": "platform/client", "resolved": "platform/client",
"link": true "link": true
}, },
"node_modules/@mattermost/compass-icons": {
"version": "0.1.61",
"resolved": "https://registry.npmjs.org/@mattermost/compass-icons/-/compass-icons-0.1.61.tgz",
"integrity": "sha512-Xq7QHyxq7NPljgqlzwRp6tWGe5sD49tWTzG41q9+sYsI+DdymJmteezupkfO3NxNxYXJiDD+q2kF0Ai2he1Mcg==",
"license": "MIT"
},
"node_modules/@hanzoteam/components": { "node_modules/@hanzoteam/components": {
"resolved": "platform/components", "resolved": "platform/components",
"link": true "link": true
@@ -3413,6 +3407,10 @@
"resolved": "platform/eslint-plugin", "resolved": "platform/eslint-plugin",
"link": true "link": true
}, },
"node_modules/@hanzoteam/redux": {
"resolved": "platform/@hanzoteam/redux",
"link": true
},
"node_modules/@hanzoteam/shared": { "node_modules/@hanzoteam/shared": {
"resolved": "platform/shared", "resolved": "platform/shared",
"link": true "link": true
@@ -6204,6 +6202,12 @@
"integrity": "sha512-G/r8dWoloDycHkOtewIkme7af8OEVsnjWT77+GsmRypGkZAWJy+nI7zecYFLBzOROjoqGRhn1QUNsPartUgC/w==", "integrity": "sha512-G/r8dWoloDycHkOtewIkme7af8OEVsnjWT77+GsmRypGkZAWJy+nI7zecYFLBzOROjoqGRhn1QUNsPartUgC/w==",
"dev": true "dev": true
}, },
"node_modules/@mattermost/compass-icons": {
"version": "0.1.61",
"resolved": "https://registry.npmjs.org/@mattermost/compass-icons/-/compass-icons-0.1.61.tgz",
"integrity": "sha512-Xq7QHyxq7NPljgqlzwRp6tWGe5sD49tWTzG41q9+sYsI+DdymJmteezupkfO3NxNxYXJiDD+q2kF0Ai2he1Mcg==",
"license": "MIT"
},
"node_modules/@mattermost/desktop-api": { "node_modules/@mattermost/desktop-api": {
"version": "6.3.0-2", "version": "6.3.0-2",
"resolved": "https://registry.npmjs.org/@mattermost/desktop-api/-/desktop-api-6.3.0-2.tgz", "resolved": "https://registry.npmjs.org/@mattermost/desktop-api/-/desktop-api-6.3.0-2.tgz",
@@ -28572,6 +28576,31 @@
"zod": "^3.25.0 || ^4.0.0" "zod": "^3.25.0 || ^4.0.0"
} }
}, },
"platform/@hanzoteam/redux": {
"version": "11.11.1",
"license": "MIT",
"dependencies": {
"@hanzoteam/client": "^11.11.0",
"@hanzoteam/types": "^11.11.0",
"@redux-devtools/extension": "3.3.0",
"lodash": "^4.17.21",
"moment-timezone": "^0.5.38",
"redux": "^5.0.0",
"redux-batched-actions": "0.5.0",
"redux-thunk": "^3.0.0",
"serialize-error": "^11.0.3",
"shallow-equals": "^1.0.0",
"timezones.json": "^1.7.1"
},
"peerDependencies": {
"typescript": ">=4.3"
},
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
}
},
"platform/client": { "platform/client": {
"name": "@hanzoteam/client", "name": "@hanzoteam/client",
"version": "11.11.4", "version": "11.11.4",
@@ -28627,8 +28656,8 @@
}, },
"peerDependencies": { "peerDependencies": {
"@babel/runtime-corejs3": "^7.17.8", "@babel/runtime-corejs3": "^7.17.8",
"@mattermost/compass-icons": "0.1.61",
"@hanzoteam/shared": "^11.11.0", "@hanzoteam/shared": "^11.11.0",
"@mattermost/compass-icons": "0.1.61",
"classnames": "^2.3.1", "classnames": "^2.3.1",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"react-intl": "*", "react-intl": "*",
@@ -0,0 +1,3 @@
cp ../../../channels/src/packages/@hanzoteam/redux/src/selectors/create_selector/index.d.ts lib/selectors/create_selector/index.d.ts
cp ../../../channels/src/packages/@hanzoteam/redux/src/types/extend_redux.d.ts lib/types/extend_redux.d.ts
cp ../../../channels/src/packages/@hanzoteam/redux/src/types/extend_react_redux.d.ts lib/types/extend_react_redux.d.ts
@@ -16,23 +16,23 @@
"jsx": "react", "jsx": "react",
"preserveConstEnums": true, "preserveConstEnums": true,
"outDir": "./lib", "outDir": "./lib",
"rootDir": "../../channels/src/packages/@hanzoteam/redux/src", "rootDir": "../../../channels/src/packages/@hanzoteam/redux/src",
"composite": true, "composite": true,
"useUnknownInCatchVariables": false, "useUnknownInCatchVariables": false,
"skipLibCheck": true, "skipLibCheck": true,
"tsBuildInfoFile": "tsconfig.tsbuildinfo", "tsBuildInfoFile": "tsconfig.tsbuildinfo",
"paths": { "paths": {
"@hanzoteam/redux/*": ["../../channels/src/packages/@hanzoteam/redux/src/*"] "@hanzoteam/redux/*": ["../../../channels/src/packages/@hanzoteam/redux/src/*"]
} }
}, },
"include": [ "include": [
"../../channels/src/packages/@hanzoteam/redux/src/**/*" "../../../channels/src/packages/@hanzoteam/redux/src/**/*"
], ],
"exclude": [ "exclude": [
"../../**/*.test.*" "../../../**/*.test.*"
], ],
"references": [ "references": [
{"path": "../types"}, {"path": "../../types"},
{"path": "../client"} {"path": "../../client"}
] ]
} }
@@ -1,3 +0,0 @@
cp ../../channels/src/packages/mattermost-redux/src/selectors/create_selector/index.d.ts lib/selectors/create_selector/index.d.ts
cp ../../channels/src/packages/mattermost-redux/src/types/extend_redux.d.ts lib/types/extend_redux.d.ts
cp ../../channels/src/packages/mattermost-redux/src/types/extend_react_redux.d.ts lib/types/extend_react_redux.d.ts