{"_id":"@builder.io/jsx-loc-internals","_rev":"16-a74e09524c8dc19071bee5f4dad37a86","name":"@builder.io/jsx-loc-internals","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@builder.io/jsx-loc-internals","version":"0.0.1","keywords":["jsx","debug","development"],"_id":"@builder.io/jsx-loc-internals@0.0.1","maintainers":[{"name":"steve8708","email":"sewell.steve@gmail.com"},{"name":"samijaber","email":"jabersami@gmail.com"},{"name":"teleaziz123","email":"aziz@builder.io"},{"name":"mrkoreye","email":"korey@builder.io"},{"name":"strd6","email":"daniel@danielx.net"},{"name":"mhevery","email":"misko@hevery.com"},{"name":"adamdbradley","email":"adam@builder.io"},{"name":"gustavohgs","email":"gustavo@builder.io"},{"name":"manucorporat","email":"manu.mtza@gmail.com"},{"name":"shyam-builder","email":"shyam@builder.io"},{"name":"sanyamkamat","email":"sanyamkamat@gmail.com"},{"name":"harmeet.builder","email":"harmeet@builder.io"},{"name":"midhunadarvin","email":"midhunadarvin@gmail.com"},{"name":"kylefowler","email":"kyle.e.fowler@gmail.com"},{"name":"builderio-bot","email":"sami+builderio-bot@builder.io"},{"name":"armela","email":"armela@builder.io"},{"name":"anaghavarhade","email":"anagha@builder.io"},{"name":"sidmohanty11","email":"sidmohanty11@gmail.com"},{"name":"yash-wadhia-builder","email":"yash@builder.io"},{"name":"paprikaf","email":"felfelahmeed@gmail.com"},{"name":"clyde-builderio","email":"clyde@builder.io"}],"dist":{"shasum":"1d5b47cc65f3778ac1217b85829dee66d1a615d8","tarball":"https://registry.npmjs.org/@builder.io/jsx-loc-internals/-/jsx-loc-internals-0.0.1.tgz","fileCount":6,"integrity":"sha512-cSADapVCi07DDhcuDmcAVItqSVmji7DNyD3xxYTHyNCwhWMNnTpZjyvDIWwYFJLleyDCJ9VUtbaXtUjjqBiRqw==","signatures":[{"sig":"MEYCIQDIHbUt3VzWGRE7FoKsROZ5593975vEbZuyokyxHFpwrAIhAIp35am7NyqG4fzAtxcm5DAH8dD4sJo1C4NRVS/hUBdl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15289},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"be3259bf95a1128c1a2fc492984e23ee794ddfbd","_npmUser":{"name":"samijaber","email":"jabersami@gmail.com"},"_npmVersion":"10.9.2","description":"Shared utilities for JSX location data injection","directories":{},"_nodeVersion":"22.14.0","dependencies":{"magic-string":"^0.30.8","@babel/parser":"^7.24.0","estree-walker":"2.0.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","vitest":"^1.2.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/jsx-loc-internals_0.0.1_1744125862526_0.11860169137307275","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-04-08T15:24:22.400Z","modified":"2026-09-09T09:16:45.568Z","0.0.1":"2025-04-08T15:24:22.695Z"},"keywords":["jsx","debug","development"],"description":"Shared utilities for JSX location data injection","maintainers":[{"email":"sewell.steve@gmail.com","name":"steve8708"},{"email":"jabersami@gmail.com","name":"samijaber"},{"email":"aziz@builder.io","name":"teleaziz123"},{"email":"korey@builder.io","name":"mrkoreye"},{"email":"misko@hevery.com","name":"mhevery"},{"email":"gustavo@builder.io","name":"gustavohgs"},{"email":"manu.mtza@gmail.com","name":"manucorporat"},{"email":"sanyamkamat@gmail.com","name":"sanyamkamat"},{"email":"benjamingirone@gmail.com","name":"bengirone"},{"email":"kyle.e.fowler@gmail.com","name":"kylefowler"},{"email":"builder-bot@builder.io","name":"builderio-bot"},{"email":"armela@builder.io","name":"armela"},{"email":"aishwaryaparab1@gmail.com","name":"aishwarya_parab"},{"email":"emma@builder.io","name":"emmaac"},{"email":"sidmohanty11@gmail.com","name":"sidmohanty11"},{"email":"jcortese@builder.io","name":"jcortesebuilder"},{"email":"vishwas@builder.io","name":"vishwasgopinath"},{"email":"nicholas@builder.io","name":"nicholaskipchumba"},{"email":"shridharmaskeri@gmail.com","name":"floating_dynamo"},{"email":"lautarogalarza@gmail.com","name":"lihuelg"},{"email":"felfelahmeed@gmail.com","name":"paprikaf"},{"email":"pabloelisseo@gmail.com","name":"pabloelisseo"},{"email":"ldebeasi@gmail.com","name":"liamdebeasi"}],"readme":"# JSX Location Internals\n\nThis package contains shared utilities for JSX location data injection used by:\n- [@builder.io/vite-plugin-jsx-loc](../vite-plugin-jsx-loc)\n- [@builder.io/webpack-plugin-jsx-loc](../webpack-plugin-jsx-loc)\n\n## About\n\nThis package provides the core functionality to transform JSX code by adding `data-loc` attributes that specify the location (file and line number) of each JSX element. This information can be useful for debugging, component tracking, and tool integration.\n\n## Usage\n\nThis package is not intended to be used directly. Instead, use one of the plugin packages mentioned above.\n\n## API\n\nThe main functionality is provided by the `transformJsxCode` function:\n\n```typescript\nfunction transformJsxCode(\n  source: string,\n  filePath: string,\n  options?: {\n    parserOptions?: ParserOptions;\n  }\n): { code: string; map: SourceMap } | null;\n```\n\n- `source`: The source code string to transform\n- `filePath`: The path to the file being processed\n- `options`: Optional configuration options\n  - `parserOptions`: Custom Babel parser options to use\n\n## How It Works\n\nThe transformation works by:\n1. Parsing the JSX/TSX code using Babel's parser\n2. Walking the AST to find JSX elements\n3. Adding a `data-loc` attribute to each element with the file path and line number\n4. Generating a source map for the transformation\n\n## License\n\nMIT ","readmeFilename":"README.md"}