@sveltejs/vite-plugin-svelte 1.0.0-next.37 → 1.0.0-next.38

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.
package/dist/index.js CHANGED
@@ -684,11 +684,20 @@ function needsOptimization(dep, localRequire) {
684
684
  if (!depData)
685
685
  return false;
686
686
  const pkg = depData.pkg;
687
- const isCjs = pkg.main && !pkg.module && !pkg.exports;
688
- if (!isCjs)
687
+ const hasEsmFields = pkg.module || pkg.exports;
688
+ if (hasEsmFields)
689
689
  return false;
690
- const entryExt = path2.extname(pkg.main);
691
- return !entryExt || entryExt === ".js" || entryExt === ".cjs";
690
+ if (pkg.main) {
691
+ const entryExt = path2.extname(pkg.main);
692
+ return !entryExt || entryExt === ".js" || entryExt === ".cjs";
693
+ } else {
694
+ try {
695
+ localRequire.resolve(`${dep}/index.js`);
696
+ return true;
697
+ } catch {
698
+ return false;
699
+ }
700
+ }
692
701
  }
693
702
 
694
703
  // src/utils/options.ts
@@ -1424,8 +1433,6 @@ function resolveViaPackageJsonSvelte(importee, importer, cache) {
1424
1433
  cache.setResolvedSvelteField(importee, importer, result);
1425
1434
  return result;
1426
1435
  }
1427
- } else {
1428
- throw new Error(`failed to resolve package.json of ${importee} imported by ${importer}`);
1429
1436
  }
1430
1437
  }
1431
1438
  }
@@ -1462,10 +1469,10 @@ var PREBUNDLE_SENSITIVE_OPTIONS = [
1462
1469
  async function handleOptimizeDeps(options, viteConfig) {
1463
1470
  if (!options.experimental.prebundleSvelteLibraries || !viteConfig.cacheDir)
1464
1471
  return;
1465
- const viteMetadataPath = path6.resolve(viteConfig.cacheDir, "_metadata.json");
1466
- if (!fs6.existsSync(viteMetadataPath))
1472
+ const viteMetadataPath = findViteMetadataPath(viteConfig.cacheDir);
1473
+ if (!viteMetadataPath)
1467
1474
  return;
1468
- const svelteMetadataPath = path6.resolve(viteConfig.cacheDir, "_svelte_metadata.json");
1475
+ const svelteMetadataPath = path6.resolve(viteMetadataPath, "../_svelte_metadata.json");
1469
1476
  const currentSvelteMetadata = JSON.stringify(generateSvelteMetadata(options), (_, value) => {
1470
1477
  return typeof value === "function" ? value.toString() : value;
1471
1478
  });
@@ -1484,6 +1491,14 @@ function generateSvelteMetadata(options) {
1484
1491
  }
1485
1492
  return metadata;
1486
1493
  }
1494
+ function findViteMetadataPath(cacheDir) {
1495
+ const metadataPaths = ["_metadata.json", "deps/_metadata.json"];
1496
+ for (const metadataPath of metadataPaths) {
1497
+ const viteMetadataPath = path6.resolve(cacheDir, metadataPath);
1498
+ if (fs6.existsSync(viteMetadataPath))
1499
+ return viteMetadataPath;
1500
+ }
1501
+ }
1487
1502
 
1488
1503
  // src/index.ts
1489
1504
  function svelte(inlineOptions) {
@@ -1492,7 +1507,6 @@ function svelte(inlineOptions) {
1492
1507
  }
1493
1508
  validateInlineOptions(inlineOptions);
1494
1509
  const cache = new VitePluginSvelteCache();
1495
- const pkg_resolve_errors = /* @__PURE__ */ new Set();
1496
1510
  let requestParser;
1497
1511
  let options;
1498
1512
  let viteConfig;
@@ -1568,35 +1582,19 @@ function svelte(inlineOptions) {
1568
1582
  }
1569
1583
  return resolvedSvelteSSR;
1570
1584
  }
1571
- try {
1572
- const resolved = resolveViaPackageJsonSvelte(importee, importer, cache);
1573
- if (resolved) {
1574
- log.debug(`resolveId resolved ${resolved} via package.json svelte field of ${importee}`);
1575
- return resolved;
1576
- }
1577
- } catch (err) {
1578
- pkg_resolve_errors.add(importee);
1585
+ const resolved = resolveViaPackageJsonSvelte(importee, importer, cache);
1586
+ if (resolved) {
1587
+ log.debug(`resolveId resolved ${resolved} via package.json svelte field of ${importee}`);
1588
+ return resolved;
1579
1589
  }
1580
1590
  },
1581
1591
  async transform(code, id, opts) {
1582
1592
  var _a;
1583
1593
  const ssr = !!(opts == null ? void 0 : opts.ssr);
1584
1594
  const svelteRequest = requestParser(id, ssr);
1585
- if (!svelteRequest) {
1595
+ if (!svelteRequest || svelteRequest.query.svelte) {
1586
1596
  return;
1587
1597
  }
1588
- const { filename, query } = svelteRequest;
1589
- if (query.svelte) {
1590
- if (query.type === "style") {
1591
- const css = cache.getCSS(svelteRequest);
1592
- if (css) {
1593
- log.debug(`transform returns css for ${filename}`);
1594
- return css;
1595
- }
1596
- }
1597
- log.error("failed to transform tagged svelte request", svelteRequest);
1598
- throw new Error(`failed to transform tagged svelte request for id ${id}`);
1599
- }
1600
1598
  let compileData;
1601
1599
  try {
1602
1600
  compileData = await compileSvelte2(svelteRequest, code, options);
@@ -1610,7 +1608,7 @@ function svelte(inlineOptions) {
1610
1608
  ensureWatchedFile(options.server.watcher, d, options.root);
1611
1609
  });
1612
1610
  }
1613
- log.debug(`transform returns compiled js for ${filename}`);
1611
+ log.debug(`transform returns compiled js for ${svelteRequest.filename}`);
1614
1612
  return compileData.compiled.js;
1615
1613
  },
1616
1614
  handleHotUpdate(ctx) {
@@ -1621,13 +1619,6 @@ function svelte(inlineOptions) {
1621
1619
  if (svelteRequest) {
1622
1620
  return handleHotUpdate(compileSvelte2, ctx, svelteRequest, cache, options);
1623
1621
  }
1624
- },
1625
- buildEnd() {
1626
- if (pkg_resolve_errors.size > 0) {
1627
- log.warn(`vite-plugin-svelte was unable to find package.json of the following packages and wasn't able to resolve via their "svelte" field.
1628
- If you had difficulties importing svelte components from a package, then please contact the author and ask them to export the package.json file.
1629
- ${Array.from(pkg_resolve_errors, (s) => `- ${s}`).join("\n")}`.replace(/\t/g, ""));
1630
- }
1631
1622
  }
1632
1623
  };
1633
1624
  }