XuqmGroup-H5SDK/node_modules/resolve/.claude/notes.md
徐勤民 e34fa2052a feat(private): add private deployment SDK module
Adds @xuqm/h5-sdk/private entry point with JSON-based initialization,
feature gating, and error codes for private deployment scenarios.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 21:08:08 +08:00

1.2 KiB

resolve package - session notes

Versioning

  • Manual versioning only - do NOT use npm version
  • Edit package.json version directly, commit with message v{version}, then create annotated tag
  • Changelog lives in git tag annotations, not a separate file
  • Tag format: git tag -a v{version} -m "{changelog}"

Code style

  • __proto__: null on ALL object literals (prototype pollution protection)
  • .slice() not .substring()
  • One exported function per file
  • Move nested/inner functions to module level when feasible
  • Prefer non-hoisted declarations (function declarations at module level, not expressions)
  • No mutation - copy objects instead of modifying inputs

Testing

  • test/list-exports is a git submodule with sparse checkout
  • Tests should cover ALL entrypoints from fixtures, not just '.' subpaths
  • Use extensions: ['.js', '.json'] when testing exports resolution

exports field implementation

  • Uses node-exports-info for category semantics
  • Categories: pre-exports, broken, conditions, patterns, pattern-trailers, current
  • exportsCategory option or engines: true to auto-detect from consumer's engines.node
  • Self-reference resolution respects node_modules boundaries