Skip to content

Advise which file failed to be transformed when RollupError: Unexpected character occurs #5246

@oscarhermoso

Description

@oscarhermoso

Expected Behavior / Situation

When RollupError: Unexpected character '' (Note that you need plugins to import files that are not JavaScript) occurs, the file that failed to be transformed should be logged

.svelte-kit/output/server/chunks/intro.js                                                                                             140.97 kB
.svelte-kit/output/server/entries/pages/room/_room_/_page@room.svelte.js                                                              142.75 kB
.svelte-kit/output/server/chunks/email-styles.js                                                                                      365.06 kB

Run npm run preview to preview your production build locally.

> Using @sveltejs/adapter-node
Failed to transform module: /home/oscarhermoso/Git/kedyou-frontend/node_modules/.pnpm/canvas@2.11.2/node_modules/canvas/build/Release/canvas.node
Failed to transform module: /home/oscarhermoso/Git/kedyou-frontend/node_modules/.pnpm/canvas@2.11.2/node_modules/canvas/lib/bindings.js
Failed to transform module: /home/oscarhermoso/Git/kedyou-frontend/node_modules/.pnpm/canvas@2.11.2/node_modules/canvas/index.js
Failed to transform module: /home/oscarhermoso/Git/kedyou-frontend/node_modules/.pnpm/canvas@2.11.2/node_modules/canvas/lib/canvas.js
Failed to transform module: /home/oscarhermoso/Git/kedyou-frontend/node_modules/.pnpm/canvas@2.11.2/node_modules/canvas/lib/context2d.js
Failed to transform module: /home/oscarhermoso/Git/kedyou-frontend/node_modules/.pnpm/canvas@2.11.2/node_modules/canvas/lib/image.js
Failed to transform module: /home/oscarhermoso/Git/kedyou-frontend/node_modules/.pnpm/canvas@2.11.2/node_modules/canvas/lib/pattern.js
Failed to transform module: /home/oscarhermoso/Git/kedyou-frontend/node_modules/.pnpm/pdfjs-dist@3.11.174/node_modules/pdfjs-dist/build/pdf.js
error during build:
RollupError: Unexpected character '' (Note that you need plugins to import files that are not JavaScript)
    at error (file:///home/oscarhermoso/Git/kedyou-frontend/node_modules/.pnpm/rollup@3.29.4/node_modules/rollup/dist/es/shared/node-entry.js:2287:30)
    at Module.error (file:///home/oscarhermoso/Git/kedyou-frontend/node_modules/.pnpm/rollup@3.29.4/node_modules/rollup/dist/es/shared/node-entry.js:13745:16)
    at Module.tryParse (file:///home/oscarhermoso/Git/kedyou-frontend/node_modules/.pnpm/rollup@3.29.4/node_modules/rollup/dist/es/shared/node-entry.js:14476:25)
    at Module.setSource (file:///home/oscarhermoso/Git/kedyou-frontend/node_modules/.pnpm/rollup@3.29.4/node_modules/rollup/dist/es/shared/node-entry.js:14077:39)
    at ModuleLoader.addModuleSource (file:///home/oscarhermoso/Git/kedyou-frontend/node_modules/.pnpm/rollup@3.29.4/node_modules/rollup/dist/es/shared/node-entry.js:24650:24)
 ELIFECYCLE  Command failed with exit code 1.

Actual Behavior / Situation

Logs currently look like below - notice that there is no indication as to which file caused the problem:

...
.svelte-kit/output/server/chunks/intro.js                                                                                             140.97 kB
.svelte-kit/output/server/entries/pages/room/_room_/_page@room.svelte.js                                                              142.75 kB
.svelte-kit/output/server/chunks/email-styles.js                                                                                      365.06 kB

Run npm run preview to preview your production build locally.

> Using @sveltejs/adapter-node

error during build:
RollupError: Unexpected character '' (Note that you need plugins to import files that are not JavaScript)
    at error (file:///home/oscarhermoso/Git/kedyou-frontend/node_modules/.pnpm/rollup@3.29.4/node_modules/rollup/dist/es/shared/node-entry.js:2287:30)
    at Module.error (file:///home/oscarhermoso/Git/kedyou-frontend/node_modules/.pnpm/rollup@3.29.4/node_modules/rollup/dist/es/shared/node-entry.js:13745:16)
    at Module.tryParse (file:///home/oscarhermoso/Git/kedyou-frontend/node_modules/.pnpm/rollup@3.29.4/node_modules/rollup/dist/es/shared/node-entry.js:14476:25)
    at Module.setSource (file:///home/oscarhermoso/Git/kedyou-frontend/node_modules/.pnpm/rollup@3.29.4/node_modules/rollup/dist/es/shared/node-entry.js:14077:39)
    at ModuleLoader.addModuleSource (file:///home/oscarhermoso/Git/kedyou-frontend/node_modules/.pnpm/rollup@3.29.4/node_modules/rollup/dist/es/shared/node-entry.js:24650:20)
 ELIFECYCLE  Command failed with exit code 1.

Modification Proposal

At the location where files are transformed, provide additional logging output when errors occur.

rollup/src/ModuleLoader.ts

Lines 322 to 325 in 52c55bb

module.updateOptions(sourceDescription);
await module.setSource(
await transform(sourceDescription, module, this.pluginDriver, this.options.onLog)
);

+    try {
         module.updateOptions(sourceDescription);
         await module.setSource(
            await transform(sourceDescription, module, this.pluginDriver, this.options.onLog)
         );
+     } catch (err) {
+       console.log("Failed to transform module:", id);
+       throw err;
+    }

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions