Paths

Prefer vscode-uri over node:path. Use when .ts files in /src import node:path or use path.join/basename/dirname/resolve, URI.file, or memfs paths.

forcedotcom dcc831b 954 B Updated

File contents

Paths

Scope: .ts files in /src

  • prefer vscode-uri URIs over paths (file, memfs; cross-platform; FsService/workspace.fs accept URIs)
  • Utils from vscode-uri instead of node:path:
    • Utils.joinPath(baseUri, 'a', 'b') — path.join
    • Utils.basename(uri), Utils.dirname(uri), Utils.extname(uri) — path.*
    • Utils.resolvePath(baseUri, 'rel') — path.resolve
  • URI↔path via FsService: toUri(filePath) / uriToPath(uri) (Effect; extensions with salesforcedx-vscode-services)
  • raw path→URI: URI.file(path), or toUri for memfs in web
  • FsService setup: services-extension-consumption
  • exit hatch: build scripts, esbuild configs, tests, desktop-only extension, host-FS-only tooling → node:path ok

forcedotcom/apex-language-support/tree/main/.claude/skills/paths commit dcc831b570

Frequently asked questions

npx skillmds@latest add forcedotcom/paths