Skip to content

WIP: Prepare to v3.0.0 — drop Node <24, remove Yarn/Lerna, modernize tooling - #541

Open
OleksiiZubko wants to merge 3 commits into
masterfrom
version_3
Open

WIP: Prepare to v3.0.0 — drop Node <24, remove Yarn/Lerna, modernize tooling#541
OleksiiZubko wants to merge 3 commits into
masterfrom
version_3

Conversation

@OleksiiZubko

Copy link
Copy Markdown
Collaborator

Migrate the monorepo tooling for the 3.0.0 release:

- Replace Lerna + Yarn workspaces with npm workspaces (topological build);
- Require Node.js >= 24 (engines) and build/test on Node 24 in CI.
- Replace deprecated TSLint with ESLint (typescript-eslint + prettier config).
- Migrate the test suites from Mocha/Chai/Sinon to Vitest. Convert per-package and cross-package (integration/functional/api-breaks) runners;
- De-barrel package-internal self imports to relative leaf paths so Vitest can mock them. Keep public API (index exports) unchanged.
- Upgrade build tooling: TypeScript 5, webpack 5 (drop terser-webpack-plugin), Prettier 3, Husky 9, lint-staged 15. Hoist shared dev dependencies to root.
- Remove the deprecated `codecov` npm package (upload stays in the GitHub Action) and replace `serve` with a zero-dependency static file server.
- Update CI/publish scripts, examples and documentation to Node 24 and npm.

Relates-To: MAJOR

@OleksiiZubko OleksiiZubko self-assigned this Jul 28, 2026
@OleksiiZubko
OleksiiZubko force-pushed the version_3 branch 2 times, most recently from b499287 to f7fb716 Compare July 28, 2026 06:54
@codecov

codecov Bot commented Jul 28, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 86.46617% with 36 lines in your changes missing coverage. Please review.
✅ Project coverage is 43.5596%. Comparing base (36a57e3) to head (fde07f0).

Files with missing lines Patch % Lines
...olp-sdk-dataservice-read/lib/client/QueryClient.ts 60.6061% 13 Missing ⚠️
...here/olp-sdk-dataservice-read/lib/utils/getTile.ts 62.5000% 6 Missing ⚠️
...k-dataservice-read/lib/client/StreamLayerClient.ts 90.0000% 5 Missing ⚠️
...p-sdk-dataservice-read/lib/client/CatalogClient.ts 88.5715% 4 Missing ⚠️
...re/olp-sdk-core/lib/utils/RequestBuilderFactory.ts 83.3334% 3 Missing ⚠️
...dataservice-read/lib/client/VolatileLayerClient.ts 91.4286% 3 Missing ⚠️
...k-dataservice-read/lib/client/PartitionsRequest.ts 50.0000% 1 Missing ⚠️
...dk-dataservice-read/lib/client/StatisticsClient.ts 90.9091% 1 Missing ⚠️
Additional details and impacted files
@@                Coverage Diff                @@
##             master       #541         +/-   ##
=================================================
- Coverage   90.1118%   43.5596%   -46.5522%     
=================================================
  Files            82         85          +3     
  Lines          2953       6956       +4003     
  Branches        333        324          -9     
=================================================
+ Hits           2661       3030        +369     
- Misses          136       3926       +3790     
+ Partials        156          0        -156     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@OleksiiZubko
OleksiiZubko force-pushed the version_3 branch 4 times, most recently from f7fb716 to dd8888d Compare July 28, 2026 07:40
Migrate the monorepo tooling.

Relates-To: MAJOR

Signed-off-by: Oleksii Zubko <ext-oleksii.zubko@here.com>
olp-sdk-authentication pulled properties-reader in only to read
two keys out of credentials.properties. The library brought
@kwsites/file-exists and mkdirp along, the latter for writing
.properties files, which the SDK never does.

Replace it with a small local reader. It skips blank lines and
`#` / `!` comments and splits on the first `=` or `:`, so base64
padding inside a secret survives parsing. The public API and the
error message are unchanged.

The package is left with no third-party dependencies at all,
removing three packages from every consumer's tree. The matching
@types/properties-reader dev dependency goes away with it.

Relates-To: MINOR
Signed-off-by: Oleksii Zubko <ext-oleksii.zubko@here.com>
requestToken_common rejected with the status text alone, so the
response body was dropped. That body holds the correlationId and
the description of the failure, which is exactly what is needed
to trace a rejected token request with platform support.

Read the body and append it to the HttpError message, in the
format DataStoreDownloadManager already uses. The status text
stays the whole message when the body is empty, and it is the
fallback when reading the body fails, so a broken stream never
masks the HTTP error itself. Over HTTP/2 the status text is
empty, in which case the body alone is reported.

Relates-To: HERESUP-71374
Signed-off-by: Oleksii Zubko <ext-oleksii.zubko@here.com>
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