@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.cjs +30 -39
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +30 -39
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
- package/src/index.ts +6 -38
- package/src/utils/__tests__/dependencies.spec.ts +14 -3
- package/src/utils/dependencies.ts +17 -6
- package/src/utils/optimizer.ts +11 -4
- package/src/utils/resolve.ts +0 -2
package/dist/index.cjs
CHANGED
|
@@ -710,11 +710,20 @@ function needsOptimization(dep, localRequire) {
|
|
|
710
710
|
if (!depData)
|
|
711
711
|
return false;
|
|
712
712
|
const pkg = depData.pkg;
|
|
713
|
-
const
|
|
714
|
-
if (
|
|
713
|
+
const hasEsmFields = pkg.module || pkg.exports;
|
|
714
|
+
if (hasEsmFields)
|
|
715
715
|
return false;
|
|
716
|
-
|
|
717
|
-
|
|
716
|
+
if (pkg.main) {
|
|
717
|
+
const entryExt = import_path2.default.extname(pkg.main);
|
|
718
|
+
return !entryExt || entryExt === ".js" || entryExt === ".cjs";
|
|
719
|
+
} else {
|
|
720
|
+
try {
|
|
721
|
+
localRequire.resolve(`${dep}/index.js`);
|
|
722
|
+
return true;
|
|
723
|
+
} catch {
|
|
724
|
+
return false;
|
|
725
|
+
}
|
|
726
|
+
}
|
|
718
727
|
}
|
|
719
728
|
|
|
720
729
|
// src/utils/options.ts
|
|
@@ -1448,8 +1457,6 @@ function resolveViaPackageJsonSvelte(importee, importer, cache) {
|
|
|
1448
1457
|
cache.setResolvedSvelteField(importee, importer, result);
|
|
1449
1458
|
return result;
|
|
1450
1459
|
}
|
|
1451
|
-
} else {
|
|
1452
|
-
throw new Error(`failed to resolve package.json of ${importee} imported by ${importer}`);
|
|
1453
1460
|
}
|
|
1454
1461
|
}
|
|
1455
1462
|
}
|
|
@@ -1486,10 +1493,10 @@ var PREBUNDLE_SENSITIVE_OPTIONS = [
|
|
|
1486
1493
|
async function handleOptimizeDeps(options, viteConfig) {
|
|
1487
1494
|
if (!options.experimental.prebundleSvelteLibraries || !viteConfig.cacheDir)
|
|
1488
1495
|
return;
|
|
1489
|
-
const viteMetadataPath =
|
|
1490
|
-
if (!
|
|
1496
|
+
const viteMetadataPath = findViteMetadataPath(viteConfig.cacheDir);
|
|
1497
|
+
if (!viteMetadataPath)
|
|
1491
1498
|
return;
|
|
1492
|
-
const svelteMetadataPath = import_path6.default.resolve(
|
|
1499
|
+
const svelteMetadataPath = import_path6.default.resolve(viteMetadataPath, "../_svelte_metadata.json");
|
|
1493
1500
|
const currentSvelteMetadata = JSON.stringify(generateSvelteMetadata(options), (_, value) => {
|
|
1494
1501
|
return typeof value === "function" ? value.toString() : value;
|
|
1495
1502
|
});
|
|
@@ -1508,6 +1515,14 @@ function generateSvelteMetadata(options) {
|
|
|
1508
1515
|
}
|
|
1509
1516
|
return metadata;
|
|
1510
1517
|
}
|
|
1518
|
+
function findViteMetadataPath(cacheDir) {
|
|
1519
|
+
const metadataPaths = ["_metadata.json", "deps/_metadata.json"];
|
|
1520
|
+
for (const metadataPath of metadataPaths) {
|
|
1521
|
+
const viteMetadataPath = import_path6.default.resolve(cacheDir, metadataPath);
|
|
1522
|
+
if (import_fs5.default.existsSync(viteMetadataPath))
|
|
1523
|
+
return viteMetadataPath;
|
|
1524
|
+
}
|
|
1525
|
+
}
|
|
1511
1526
|
|
|
1512
1527
|
// src/index.ts
|
|
1513
1528
|
function svelte(inlineOptions) {
|
|
@@ -1516,7 +1531,6 @@ function svelte(inlineOptions) {
|
|
|
1516
1531
|
}
|
|
1517
1532
|
validateInlineOptions(inlineOptions);
|
|
1518
1533
|
const cache = new VitePluginSvelteCache();
|
|
1519
|
-
const pkg_resolve_errors = /* @__PURE__ */ new Set();
|
|
1520
1534
|
let requestParser;
|
|
1521
1535
|
let options;
|
|
1522
1536
|
let viteConfig;
|
|
@@ -1592,35 +1606,19 @@ function svelte(inlineOptions) {
|
|
|
1592
1606
|
}
|
|
1593
1607
|
return resolvedSvelteSSR;
|
|
1594
1608
|
}
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
return resolved;
|
|
1600
|
-
}
|
|
1601
|
-
} catch (err) {
|
|
1602
|
-
pkg_resolve_errors.add(importee);
|
|
1609
|
+
const resolved = resolveViaPackageJsonSvelte(importee, importer, cache);
|
|
1610
|
+
if (resolved) {
|
|
1611
|
+
log.debug(`resolveId resolved ${resolved} via package.json svelte field of ${importee}`);
|
|
1612
|
+
return resolved;
|
|
1603
1613
|
}
|
|
1604
1614
|
},
|
|
1605
1615
|
async transform(code, id, opts) {
|
|
1606
1616
|
var _a;
|
|
1607
1617
|
const ssr = !!(opts == null ? void 0 : opts.ssr);
|
|
1608
1618
|
const svelteRequest = requestParser(id, ssr);
|
|
1609
|
-
if (!svelteRequest) {
|
|
1619
|
+
if (!svelteRequest || svelteRequest.query.svelte) {
|
|
1610
1620
|
return;
|
|
1611
1621
|
}
|
|
1612
|
-
const { filename, query } = svelteRequest;
|
|
1613
|
-
if (query.svelte) {
|
|
1614
|
-
if (query.type === "style") {
|
|
1615
|
-
const css = cache.getCSS(svelteRequest);
|
|
1616
|
-
if (css) {
|
|
1617
|
-
log.debug(`transform returns css for ${filename}`);
|
|
1618
|
-
return css;
|
|
1619
|
-
}
|
|
1620
|
-
}
|
|
1621
|
-
log.error("failed to transform tagged svelte request", svelteRequest);
|
|
1622
|
-
throw new Error(`failed to transform tagged svelte request for id ${id}`);
|
|
1623
|
-
}
|
|
1624
1622
|
let compileData;
|
|
1625
1623
|
try {
|
|
1626
1624
|
compileData = await compileSvelte2(svelteRequest, code, options);
|
|
@@ -1634,7 +1632,7 @@ function svelte(inlineOptions) {
|
|
|
1634
1632
|
ensureWatchedFile(options.server.watcher, d, options.root);
|
|
1635
1633
|
});
|
|
1636
1634
|
}
|
|
1637
|
-
log.debug(`transform returns compiled js for ${filename}`);
|
|
1635
|
+
log.debug(`transform returns compiled js for ${svelteRequest.filename}`);
|
|
1638
1636
|
return compileData.compiled.js;
|
|
1639
1637
|
},
|
|
1640
1638
|
handleHotUpdate(ctx) {
|
|
@@ -1645,13 +1643,6 @@ function svelte(inlineOptions) {
|
|
|
1645
1643
|
if (svelteRequest) {
|
|
1646
1644
|
return handleHotUpdate(compileSvelte2, ctx, svelteRequest, cache, options);
|
|
1647
1645
|
}
|
|
1648
|
-
},
|
|
1649
|
-
buildEnd() {
|
|
1650
|
-
if (pkg_resolve_errors.size > 0) {
|
|
1651
|
-
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.
|
|
1652
|
-
If you had difficulties importing svelte components from a package, then please contact the author and ask them to export the package.json file.
|
|
1653
|
-
${Array.from(pkg_resolve_errors, (s) => `- ${s}`).join("\n")}`.replace(/\t/g, ""));
|
|
1654
|
-
}
|
|
1655
1646
|
}
|
|
1656
1647
|
};
|
|
1657
1648
|
}
|