@vizejs/vite-plugin 0.159.0 → 0.160.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.mjs +52 -12
  2. package/package.json +3 -3
package/dist/index.mjs CHANGED
@@ -564,18 +564,25 @@ function findPackageRoot(resolvedFile) {
564
564
  }
565
565
  return null;
566
566
  }
567
+ function resolvePackageRootWithNode(state, packageName, importer) {
568
+ const packageJson = resolveBareImportWithNode(state, `${packageName}/package.json`, importer);
569
+ if (packageJson) return path.dirname(packageJson);
570
+ const resolvedEntry = resolveBareImportWithNode(state, packageName, importer);
571
+ return resolvedEntry ? findPackageRoot(resolvedEntry) : null;
572
+ }
567
573
  function resolveVueBundlerEntryWithNode(state, id, importer) {
568
574
  const { request, querySuffix } = splitViteIdQuery(id);
569
- if (request !== "vue") return null;
570
- const packageJson = resolveBareImportWithNode(state, "vue/package.json", importer);
571
- const resolvedVue = packageJson ? null : resolveBareImportWithNode(state, "vue", importer);
572
- const packageRoot = packageJson ? path.dirname(packageJson) : resolvedVue ? findPackageRoot(resolvedVue) : null;
573
- if (!packageRoot) return null;
574
- for (const relativeEntry of [
575
+ let relativeEntries;
576
+ if (request === "vue") relativeEntries = [
575
577
  "dist/vue.runtime.esm-bundler.js",
576
578
  "dist/vue.esm-bundler.js",
577
579
  "index.mjs"
578
- ]) {
580
+ ];
581
+ else if (request.startsWith("vue/dist/") && request.endsWith(".js")) relativeEntries = [request.slice(4)];
582
+ else return null;
583
+ const packageRoot = resolvePackageRootWithNode(state, "vue", importer);
584
+ if (!packageRoot) return null;
585
+ for (const relativeEntry of relativeEntries) {
579
586
  const entry = path.join(packageRoot, relativeEntry);
580
587
  if (fs.existsSync(entry)) return `${entry}${querySuffix}`;
581
588
  }
@@ -584,10 +591,34 @@ function resolveVueBundlerEntryWithNode(state, id, importer) {
584
591
  function isVueRuntimeRequest(id) {
585
592
  return splitViteIdQuery(id).request === "vue";
586
593
  }
594
+ function isVueServerRendererRequest(request) {
595
+ return request === "@vue/server-renderer" || request === "vue/server-renderer" || request.startsWith("vue/dist/") && request.endsWith("/server-renderer");
596
+ }
597
+ function resolveVueServerRendererPackageRootWithNode(state, importer) {
598
+ const packageRoot = resolvePackageRootWithNode(state, "@vue/server-renderer", importer);
599
+ if (packageRoot) return packageRoot;
600
+ const vuePackageRoot = resolvePackageRootWithNode(state, "vue", importer);
601
+ return vuePackageRoot ? resolvePackageRootWithNode(state, "@vue/server-renderer", path.join(vuePackageRoot, "package.json")) : null;
602
+ }
603
+ function resolveVueServerRendererBundlerEntryWithNode(state, id, importer) {
604
+ const { request, querySuffix } = splitViteIdQuery(id);
605
+ if (querySuffix || !isVueServerRendererRequest(request)) return null;
606
+ const packageRoot = resolveVueServerRendererPackageRootWithNode(state, importer);
607
+ if (!packageRoot) return null;
608
+ for (const relativeEntry of [
609
+ "dist/server-renderer.esm-bundler.js",
610
+ "index.mjs",
611
+ "index.js"
612
+ ]) {
613
+ const entry = path.join(packageRoot, relativeEntry);
614
+ if (fs.existsSync(entry)) return entry;
615
+ }
616
+ return null;
617
+ }
587
618
  function resolveSsrExternalVueRequest(id) {
588
619
  const { request, querySuffix } = splitViteIdQuery(id);
589
620
  if (querySuffix) return null;
590
- if (request === "@vue/server-renderer" || request === "vue/server-renderer") return "vue/server-renderer";
621
+ if (isVueServerRendererRequest(request)) return "vue/server-renderer";
591
622
  if (request === "vue" || request.startsWith("vue/dist/")) return "vue";
592
623
  if (request.startsWith("@vue/")) return request;
593
624
  return null;
@@ -738,10 +769,19 @@ async function resolveIdHook(ctx, state, id, importer, options) {
738
769
  }
739
770
  if (!id.endsWith(".vue")) {
740
771
  const ssrExternalVueRequest = isSsrRequest ? resolveSsrExternalVueRequest(id) : null;
741
- if (ssrExternalVueRequest) return {
742
- id: ssrExternalVueRequest,
743
- external: true
744
- };
772
+ if (ssrExternalVueRequest) {
773
+ if (!isBuild) {
774
+ const devSsrVueEntry = ssrExternalVueRequest === "vue/server-renderer" ? resolveVueServerRendererBundlerEntryWithNode(state, id, cleanImporter) : resolveVueBundlerEntryWithNode(state, id, cleanImporter);
775
+ if (devSsrVueEntry) {
776
+ state.logger.log(`resolveId: resolved SSR Vue request ${id} to ${devSsrVueEntry}`);
777
+ return devSsrVueEntry;
778
+ }
779
+ }
780
+ return {
781
+ id: ssrExternalVueRequest,
782
+ external: true
783
+ };
784
+ }
745
785
  if (!id.startsWith("./") && !id.startsWith("../") && !id.startsWith("/")) {
746
786
  const isVueRuntime = isVueRuntimeRequest(id);
747
787
  if (isVueRuntime && isBuild) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vizejs/vite-plugin",
3
- "version": "0.159.0",
3
+ "version": "0.160.0",
4
4
  "description": "High-performance native Vite plugin for Vue SFC compilation powered by Vize",
5
5
  "keywords": [
6
6
  "compiler",
@@ -39,9 +39,9 @@
39
39
  "access": "public"
40
40
  },
41
41
  "dependencies": {
42
- "@vizejs/native": "0.159.0",
42
+ "@vizejs/native": "0.160.0",
43
43
  "tinyglobby": "0.2.16",
44
- "vize": "0.159.0"
44
+ "vize": "0.160.0"
45
45
  },
46
46
  "devDependencies": {
47
47
  "@types/node": "25.7.0",