Skip to content

💡 refactor(structure): Improved organization of monorepo packages and implementations#164

Merged
Charles Hudson (phobetron) merged 1 commit intomainfrom
NT-2544_rearrange-implementations-packages
Mar 4, 2026
Merged

💡 refactor(structure): Improved organization of monorepo packages and implementations#164
Charles Hudson (phobetron) merged 1 commit intomainfrom
NT-2544_rearrange-implementations-packages

Conversation

@phobetron
Copy link
Collaborator

@phobetron Charles Hudson (phobetron) commented Mar 4, 2026

Restructuring the monorepo around a packages/* layout and align implementation naming with SDK package conventions.

  • Move SDK source trees from platforms/javascript/* and universal/* into packages/*, including:
    • packages/universal/{api-schemas,api-client,core-sdk}
    • packages/node/node-sdk (+ packages/node/frameworks/.keep)
    • packages/web/{web-sdk,preview-panel,frameworks/react-web-sdk}
    • packages/react-native-sdk
    • packages/{android,ios} docs
  • Rename implementation apps to SDK-oriented names:
    • node-ssr-only -> node-sdk
    • node-ssr-web-vanilla -> node-sdk+web-sdk
    • web-vanilla -> web-sdk
    • web-react -> web-sdk_react
    • react-native -> react-native-sdk
  • Update root scripts and commands to new names/paths (package.json), including E2E setup/run targets and lint scope migration from platforms/universal to packages.
  • Update workspace/tooling configuration for the new structure: pnpm-workspace.yaml, pnpm-lock.yaml, tsconfig.base.json path aliases, and typedoc.json entry points.
  • Rewire CI path filters and E2E jobs in .github/workflows/main-pipeline.yaml to new package and implementation paths, job outputs, command targets, env setup paths, and artifact locations.
  • Refresh project docs/governance docs to match renamed paths and commands: README.md, CONTRIBUTING.md, .specify/memory/constitution.md, .specify/research/repository-research.md.
  • Update package/build/test config references (rsbuild/rslib/rstest/tsconfig/metro) to relocated dependency paths.
  • Remove obsolete tracked Gradle wrapper JARs from legacy React Native locations.

New directory structure:

optimization/
├── implementations/
│   ├── node-sdk/
│   ├── node-sdk+web-sdk/
│   ├── react-native-sdk/
│   ├── web-sdk/
│   └── web-sdk_react/
├── lib/
├── packages/
│   ├── android/
│   ├── ios/
│   ├── react-native-sdk/
│   ├── node/
│   │   ├── frameworks/
│   │   └── node-sdk/
│   ├── universal/
│   │   ├── api-client/
│   │   ├── api-schemas/
│   │   └── core-sdk/
│   └── web/
│       ├── frameworks/
│       │   └── react-web-sdk/
│       ├── preview-panel/
│       └── web-sdk/
├── scripts/
└── specs/

[NT-2544]

@wiz-inc-38d59fb8d7
Copy link

wiz-inc-38d59fb8d7 bot commented Mar 4, 2026

Wiz Scan Summary

Scanner Findings
Vulnerability Finding Vulnerabilities 2 Medium 3 Low
Data Finding Sensitive Data -
Secret Finding Secrets -
IaC Misconfiguration IaC Misconfigurations -
SAST Finding SAST Findings -
Software Management Finding Software Management Findings -
Total 2 Medium 3 Low

View scan details in Wiz

To detect these findings earlier in the dev lifecycle, try using Wiz Code VS Code Extension.

@phobetron Charles Hudson (phobetron) force-pushed the NT-2544_rearrange-implementations-packages branch from 4c62633 to c84ebbb Compare March 4, 2026 12:30
… implementations

Restructuring the monorepo around a `packages/*` layout and align implementation naming with SDK package conventions.

- Move SDK source trees from `platforms/javascript/*` and `universal/*` into `packages/*`, including:
  - `packages/universal/{api-schemas,api-client,core-sdk}`
  - `packages/node/node-sdk` (+ `packages/node/frameworks/.keep`)
  - `packages/web/{web-sdk,preview-panel,frameworks/react-web-sdk}`
  - `packages/react-native-sdk`
  - `packages/{android,ios}` docs
- Rename implementation apps to SDK-oriented names:
  - `node-ssr-only` -> `node-sdk`
  - `node-ssr-web-vanilla` -> `node-sdk+web-sdk`
  - `web-vanilla` -> `web-sdk`
  - `web-react` -> `web-sdk_react`
  - `react-native` -> `react-native-sdk`
- Update root scripts and commands to new names/paths (`package.json`), including E2E setup/run targets and lint scope migration from `platforms/universal` to `packages`.
- Update workspace/tooling configuration for the new structure: `pnpm-workspace.yaml`, `pnpm-lock.yaml`, `tsconfig.base.json` path aliases, and `typedoc.json` entry points.
- Rewire CI path filters and E2E jobs in `.github/workflows/main-pipeline.yaml` to new package and implementation paths, job outputs, command targets, env setup paths, and artifact locations.
- Refresh project docs/governance docs to match renamed paths and commands: `README.md`, `CONTRIBUTING.md`, `.specify/memory/constitution.md`, `.specify/research/repository-research.md`.
- Update package/build/test config references (rsbuild/rslib/rstest/tsconfig/metro) to relocated dependency paths.
- Remove obsolete tracked Gradle wrapper JARs from legacy React Native locations.

New directory structure:

```
optimization/
├── implementations/
│   ├── node-sdk/
│   ├── node-sdk+web-sdk/
│   ├── react-native-sdk/
│   ├── web-sdk/
│   └── web-sdk_react/
├── lib/
├── packages/
│   ├── android/
│   ├── ios/
│   ├── react-native-sdk/
│   ├── node/
│   │   ├── frameworks/
│   │   └── node-sdk/
│   ├── universal/
│   │   ├── api-client/
│   │   ├── api-schemas/
│   │   └── core-sdk/
│   └── web/
│       ├── frameworks/
│       │   └── react-web-sdk/
│       ├── preview-panel/
│       └── web-sdk/
├── scripts/
└── specs/
```

[[NT-2544](https://contentful.atlassian.net/browse/NT-2544)]
@phobetron Charles Hudson (phobetron) force-pushed the NT-2544_rearrange-implementations-packages branch from c84ebbb to 94d8c8c Compare March 4, 2026 13:08
@phobetron Charles Hudson (phobetron) merged commit eedfd88 into main Mar 4, 2026
30 checks passed
@phobetron Charles Hudson (phobetron) deleted the NT-2544_rearrange-implementations-packages branch March 4, 2026 13:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant