{"_id":"rollup-plugin-import-trace","_rev":"2-170eaf96bdd129cdac30ec64c0f94801","name":"rollup-plugin-import-trace","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"rollup-plugin-import-trace","version":"1.0.0","keywords":["rollup","rollup-plugin","vite","vite-plugin","import","trace","debug","error"],"author":{"name":"Hiroki Osame","email":"hiroki.osame@gmail.com"},"license":"MIT","_id":"rollup-plugin-import-trace@1.0.0","maintainers":[{"name":"hirokiosame","email":"hiroki.osame@gmail.com"}],"homepage":"https://github.com/privatenumber/rollup-plugin-import-trace#readme","bugs":{"url":"https://github.com/privatenumber/rollup-plugin-import-trace/issues"},"dist":{"shasum":"1f4e5f36567571d24e506529fc5674ac4148b6eb","tarball":"https://registry.npmjs.org/rollup-plugin-import-trace/-/rollup-plugin-import-trace-1.0.0.tgz","fileCount":6,"integrity":"sha512-byUjwhEc42qnbcTOZ7E0cDDNidkKkN4VwoW5dknA/61F0c60v2l2ktPraUH4+ehhZ/L/yS/Exry/q8gz0hEZOQ==","signatures":[{"sig":"MEQCIHectvchZ+Js/2lnOSIl6N0SIAvzGt+Jiwh5Tv0Gq46FAiAG1hP8oY97oRSQP3e5npqIaLVTTssiR72GTNGNU3cobQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9379},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=20.20.0"},"exports":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"funding":"https://github.com/privatenumber/rollup-plugin-import-trace?sponsor=1","gitHead":"128c05574008cd4406eaedc64c53f4dcc1f078c8","_npmUser":{"name":"hirokiosame","email":"hiroki.osame@gmail.com"},"repository":{"url":"git+https://github.com/privatenumber/rollup-plugin-import-trace.git","type":"git"},"_npmVersion":"11.6.1","description":"Rollup/Vite plugin to track import chains for better error debugging","directories":{},"_nodeVersion":"24.11.0","_hasShrinkwrap":false,"peerDependencies":{"vite":"^5.0.0 || ^6.0.0 || ^7.0.0","rollup":"^3.0.0 || ^4.0.0"},"peerDependenciesMeta":{"vite":{"optional":true},"rollup":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rollup-plugin-import-trace_1.0.0_1769786104378_0.4489543849105504","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"rollup-plugin-import-trace","version":"1.0.1","description":"Rollup/Vite plugin to track import chains for better error debugging","keywords":["rollup","rollup-plugin","vite","vite-plugin","import","trace","debug","error"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/privatenumber/rollup-plugin-import-trace.git"},"funding":"https://github.com/privatenumber/rollup-plugin-import-trace?sponsor=1","author":{"name":"Hiroki Osame","email":"hiroki.osame@gmail.com"},"type":"module","main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"engines":{"node":">=20.20.0"},"peerDependencies":{"rollup":"^3.0.0 || ^4.0.0","vite":"^5.0.0 || ^6.0.0 || ^7.0.0"},"peerDependenciesMeta":{"rollup":{"optional":true},"vite":{"optional":true}},"gitHead":"ceaaf94680d606bfd4a5b91ee869495fe75df98c","_id":"rollup-plugin-import-trace@1.0.1","bugs":{"url":"https://github.com/privatenumber/rollup-plugin-import-trace/issues"},"homepage":"https://github.com/privatenumber/rollup-plugin-import-trace#readme","_nodeVersion":"24.11.0","_npmVersion":"11.6.1","dist":{"integrity":"sha512-dWOKrdYba2BXDJh82kkuM4pAR3M6r7WFp6vbVxAgvLfug2WniMFAg2uZ5sNQ/8CoQWo5l2N5EXDG8+QClKk1YQ==","shasum":"8d1a61dd58f7cbb7047c672e4721130a524b5260","tarball":"https://registry.npmjs.org/rollup-plugin-import-trace/-/rollup-plugin-import-trace-1.0.1.tgz","fileCount":6,"unpackedSize":11758,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/rollup-plugin-import-trace@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIA8ses1JcofO9J3jhPqxiueTW5EUDRQ8mqSBUNbDIGETAiB4xFFQwoGYW8Uxt2/DEvw6tQU3kx/juV+GNxA1+we0Zw=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fa8e53fb-8a77-40b8-aa45-22351e870b21"}},"directories":{},"maintainers":[{"name":"hirokiosame","email":"hiroki.osame@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rollup-plugin-import-trace_1.0.1_1771510304757_0.03361545171385094"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-30T15:15:04.377Z","modified":"2026-02-19T14:11:45.173Z","1.0.0":"2026-01-30T15:15:04.508Z","1.0.1":"2026-02-19T14:11:44.899Z"},"bugs":{"url":"https://github.com/privatenumber/rollup-plugin-import-trace/issues"},"author":{"name":"Hiroki Osame","email":"hiroki.osame@gmail.com"},"license":"MIT","homepage":"https://github.com/privatenumber/rollup-plugin-import-trace#readme","keywords":["rollup","rollup-plugin","vite","vite-plugin","import","trace","debug","error"],"repository":{"type":"git","url":"git+https://github.com/privatenumber/rollup-plugin-import-trace.git"},"description":"Rollup/Vite plugin to track import chains for better error debugging","maintainers":[{"name":"hirokiosame","email":"hiroki.osame@gmail.com"}],"readme":"# rollup-plugin-import-trace\n\nRollup/Vite plugin that adds import traces to build errors.\n\nWhen a build error is thrown, the plugin adds an `importTrace` property showing the chain of imports that led to the problematic file:\n\n```\nError [RollupError]: node_modules/some-lib/dist/styles.css (1:0): Expression expected (Note that you need plugins to import files that are not JavaScript)\n    at getRollupError (...) {\n  code: 'PARSE_ERROR',\n  id: '/project/node_modules/some-lib/dist/styles.css',\n  loc: { column: 0, file: '/project/node_modules/some-lib/dist/styles.css', line: 1 },\n  frame: '1: .class {\\n   ^\\n2:     color: red;\\n3: }',\n\n  // ⬇️ Added by this plugin\n  importTrace: [\n    '/project/src/index.js',\n    '/project/src/components/Button.js',\n    '/project/node_modules/some-lib/dist/index.js',\n    '/project/node_modules/some-lib/dist/styles.css'\n  ]\n}\n```\n\n> [!NOTE]\n> Rollup errors have a `watchFiles` property that may look similar, but it's just files for watch mode to monitor. It includes all files imported from the entry point, not just the chain that led to the error.\n\n## Install\n\n```sh\nnpm install rollup-plugin-import-trace\n```\n\n## Usage\n\n```ts\nimport { importTrace } from 'rollup-plugin-import-trace'\n\nexport default {\n    plugins: [\n        importTrace()\n        // other plugins...\n    ]\n}\n```\n\n> [!IMPORTANT]\n> List `importTrace()` **first** in the plugins array. Its `resolveId` hook needs to run before other plugins to record import relationships for error recovery.\n\nWorks with Rollup and Vite (both dev and build modes).\n\n## Formatting Utility\n\nIn Vite dev mode, the error message is automatically formatted for the browser overlay:\n\n```\n[plugin:vite:import-analysis] Failed to parse source for import analysis because the content contains invalid JS syntax. If you are using JSX, make sure to name the file with the .jsx or .tsx extension.\n\nImport trace:\n    /project/index.js\n    ↳ /project/a.js\n    ↳ /project/b.js\n    ↳ /project/broken.js\n\n/project/broken.js:1:30\n1  |  export const value = \"unclosed\n   |                                ^\n    at TransformPluginContext._formatLog ...\n```\n\nFor other cases (e.g. CLI tools), use `patchErrorWithTrace(error)` to format and append the trace to the error message:\n\n```ts\nimport { importTrace, patchErrorWithTrace } from 'rollup-plugin-import-trace'\n\ntry {\n    await rollup({\n        input: 'src/index.js',\n        plugins: [importTrace()]\n    })\n} catch (error) {\n    patchErrorWithTrace(error)\n    console.error(error.message)\n}\n```\n\nOutput:\n\n```\nnode_modules/some-lib/dist/styles.css (1:0): Expression expected (Note that you need plugins to import files that are not JavaScript)\n\nImport trace:\n    /project/src/index.js\n    ↳ /project/src/components/Button.js\n    ↳ /project/node_modules/some-lib/dist/index.js\n    ↳ /project/node_modules/some-lib/dist/styles.css\n```\n\n> [!TIP]\n> `patchErrorWithTrace` accepts `unknown`—safely does nothing if the error doesn't have an `importTrace` array.\n","readmeFilename":"README.md"}