Skip to content

Bug: environments.ssr.build.sourcemap not generate sourcemap collectly with @fresh/plugin-vite #3826

@Hajime-san

Description

@Hajime-san

Step to reproduce

% deno --version
deno 2.8.0 (stable, release, aarch64-apple-darwin)
v8 14.9.207.2-rusty
typescript 6.0.3
  • deno.json
{
  "imports": {
    "vite": "npm:vite@7.1.11",
    "preact": "npm:preact@10.29.1",
    "fresh": "jsr:@fresh/core@2.3.3",
    "@fresh/plugin-vite": "jsr:@fresh/plugin-vite@1.1.2"
  },
  "nodeModulesDir": "auto",
  "compilerOptions": {
    "jsx": "precompile",
    "jsxImportSource": "preact",
    "jsxImportSourceTypes": "preact"
  },
  "tasks": {
    "build": "deno run -REWS --allow-run --allow-ffi vite build"
  }
}
  • vite.config.ts
import { defineConfig } from 'vite';
import { fresh } from '@fresh/plugin-vite';

export default defineConfig({
  plugins: [fresh({
    serverEntry: "./main.tsx",
  })],
  environments: {
    ssr: {
      build: {
        sourcemap: true,
      },
    },
  },
});
  • main.tsx
import { App } from 'fresh';

export const app = new App()
  .get('/', (ctx) => ctx.render(<p>Hello Wordl!</p>));

Run following command

% deno task build
Task build deno run -REWS --allow-run --allow-ffi vite build
vite v7.1.11 building for production...
✓ 21 modules transformed.
_fresh/client/.vite/manifest.json               0.16 kB │ gzip:  0.12 kB
_fresh/client/assets/client-entry-B8ZgGVN2.js  44.96 kB │ gzip: 17.07 kB
✓ built in 407ms
vite v7.1.11 building SSR bundle for production...
✓ 165 modules transformed.
[plugin deno] Sourcemap is likely to be incorrect: a plugin (deno) was used to transform files, but didn't generate a sourcemap for the transformation. Consult the plugin documentation for help
_fresh/server/.vite/manifest.json    0.15 kB
_fresh/server/server-entry.mjs     213.77 kB │ map: 146.12 kB
✓ built in 882ms

Rollup shows the warning of sourcemap generation. And I found that the sources array does not contain main.tsx upon checking the source map file.

% deno eval "var map = Deno.readTextFileSync('_fresh/server/server-entry.mjs.map');console.log(JSON.parse(map).sources);"
[
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/internal/semver.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/internal/global-utils.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/diag/internal/logLevelLogger.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/diag/ComponentLogger.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/api/diag.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/context/context.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/context/NoopContextManager.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/api/context.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/trace/invalid-span-constants.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/trace/NonRecordingSpan.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/trace/context-utils.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/trace/spancontext-utils.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/trace/NoopTracer.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/trace/NoopTracerProvider.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/trace/ProxyTracer.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/trace/ProxyTracerProvider.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/api/trace.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/baggage/internal/baggage-impl.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/baggage/utils.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/baggage/context-helpers.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/propagation/NoopTextMapPropagator.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/api/propagation.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/propagation-api.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/metrics/NoopMeter.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/metrics/NoopMeterProvider.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/api/metrics.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/metrics-api.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/context-api.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/trace/internal/tracestate-validators.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/trace/internal/tracestate-impl.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/trace/internal/utils.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/trace/status.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/trace/span_kind.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/diag/consoleLogger.ts",
  "../../node_modules/.deno/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/src/index.ts",
  "../../node_modules/.deno/preact@10.29.1/node_modules/preact/src/options.js",
  "../../node_modules/.deno/preact@10.29.1/node_modules/preact/src/constants.js",
  "../../node_modules/.deno/preact@10.29.1/node_modules/preact/src/util.js",
  "../../node_modules/.deno/preact@10.29.1/node_modules/preact/src/component.js",
  "../../node_modules/.deno/preact@10.29.1/node_modules/preact/src/diff/props.js",
  "../../node_modules/.deno/preact@10.29.1/node_modules/preact/src/create-element.js",
  "../../node_modules/.deno/preact@10.29.1/node_modules/preact/hooks/src/index.js",
  "../../node_modules/.deno/preact-render-to-string@6.6.7/node_modules/preact-render-to-string/src/lib/constants.js",
  "../../node_modules/.deno/preact-render-to-string@6.6.7/node_modules/preact-render-to-string/src/lib/util.js"
]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions