Skip to content

Conversation

@Arochka
Copy link

@Arochka Arochka commented Dec 19, 2025

Summary

This PR makes the local development workflow work on Windows by removing Linux-only dependencies from the workspace
scripts.
It replaces usages of rm -rf, rsync, and shell scripts in the prepack/dev pipeline with Node-based cross-platform
helpers, and updates start:dev to run reliably on Windows shells.
This allows running pnpm prepack and pnpm start:dev on Windows

Testing

Checklist

  • .changeset
  • unit tests
  • integration tests
  • necessary TSDoc comments

@github-actions
Copy link

COMPARE TO master

Total Size Diff 📈 +4.16 KB

Diff by File
Name Diff
.scripts/copy-openapi.mjs 📈 +1.22 KB
.scripts/rm.mjs 📈 +402 Bytes
.scripts/start-dev.mjs 📈 +724 Bytes
package.json 📈 +94 Bytes
packages/app-insights/package.json 📈 +19 Bytes
packages/cli/package.json 📈 +20 Bytes
packages/console/package.json 📈 +12 Bytes
packages/console/scripts/generate.mjs 📈 +680 Bytes
packages/core/package.json 📈 +14 Bytes
packages/core/src/middleware/koa-spa-proxy.ts 📈 +319 Bytes
packages/phrases-experience/package.json 📈 +19 Bytes
packages/phrases/package.json 📈 +19 Bytes
packages/schemas/package.json 📈 +51 Bytes
packages/schemas/scripts/generate.mjs 📈 +542 Bytes
packages/shared/package.json 📈 +19 Bytes
packages/toolkit/connector-kit/package.json 📈 +22 Bytes
packages/toolkit/core-kit/package.json 📈 +22 Bytes
packages/toolkit/language-kit/package.json 📈 +22 Bytes
packages/translate/package.json 📈 +20 Bytes
packages/tunnel/package.json 📈 +20 Bytes

@wangsijie
Copy link
Contributor

The packageManager field added to the root package.json seems unrelated to the Windows support changes:

"packageManager": "[email protected]+sha512.6540583f41cc5f628eb3d9773ecee802f4f9ef9923cc45b69890fb47991d4b092964694ec3a4f738a420c918a333062c8b925d312f42e4f0c263eb603551f977"

This pins pnpm to a specific version with hash verification. Was this intentional? If so, it might be better suited for a separate PR. If it was added unintentionally (e.g., by running corepack use), consider removing it from this PR.

@wangsijie
Copy link
Contributor

In .scripts/copy-openapi.mjs, the catch block silently ignores all errors:

} catch {
  // Source dir might not exist yet; keep behavior lenient like rsync.
  return;
}

This could hide unexpected errors (e.g., permission issues). Consider catching only ENOENT:

} catch (error) {
  if (error.code !== 'ENOENT') throw error;
  // Source dir might not exist yet; keep behavior lenient like rsync.
  return;
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Development

Successfully merging this pull request may close these issues.

2 participants