Skip to content

fix(nodes): ensure CPC is a number securely and update npm configs#42

Closed
adityasai1234 wants to merge 4 commits intowespreadjam:mainfrom
adityasai1234:fix/seo-cpc-and-dx
Closed

fix(nodes): ensure CPC is a number securely and update npm configs#42
adityasai1234 wants to merge 4 commits intowespreadjam:mainfrom
adityasai1234:fix/seo-cpc-and-dx

Conversation

@adityasai1234
Copy link
Contributor

Changes

  1. Keyword Research CPC Type: Fixed a type-mismatch where cpc was typed as a string in the schema but treated as a number in the Service interface. It's now consistently a number.
  2. Tree-Shaking: Added "sideEffects": false to both @jam-nodes/core and @jam-nodes/nodes [package.json](cci:7://file:///Users/medow/Documents/jam-nodes/package.json:0:0-0:0) so bundlers can properly drop unused nodes.
  3. npm READMEs: Cleaned up placeholder text from the root README and copied it to the individual packages so they show up correctly on the npm registry.

…ion in fetchWithRetry

- seo-audit: both branches of the POSITIVE_CHECKS if/else were
  assigning `checkData.passed` identically, making the distinction
  a no-op. Normal checks now correctly invert with `!checkData.passed`
  so that a DataForSEO "passed=true" (problem absent) maps to isPassed=true.

- fetchWithRetry: a 429 on the final retry attempt fell through the
  if-block and returned the rate-limit Response to the caller instead
  of throwing. Now throws FetchRetryError("Rate limit exceeded after N
  attempts") consistent with how 5xx exhaustion is handled.
- Add utils/resolve-path.ts as canonical path resolver
- Supports dot notation, keyed array (contacts[0]), standalone
  index ([0].name), and empty paths
- map.ts now imports from shared utility
- Align cpc in SeoKeywordResearchOutputSchema to match DataForSeoKeyword
- Add `sideEffects: false` to both core and nodes packages for tree-shaking
- Clean up root README and copy to packages for npm publish visibility
@MAlshaik MAlshaik closed this in 74260f5 Mar 3, 2026
MAlshaik pushed a commit that referenced this pull request Mar 4, 2026
- Add sideEffects: false to core and nodes package.json for bundler optimization
- Copy README.md to packages/core and packages/nodes for npm visibility
- Clean up root README formatting

Closes #42
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