@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.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
|
|
688
|
-
if (
|
|
687
|
+
const hasEsmFields = pkg.module || pkg.exports;
|
|
688
|
+
if (hasEsmFields)
|
|
689
689
|
return false;
|
|
690
|
-
|
|
691
|
-
|
|
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 =
|
|
1466
|
-
if (!
|
|
1472
|
+
const viteMetadataPath = findViteMetadataPath(viteConfig.cacheDir);
|
|
1473
|
+
if (!viteMetadataPath)
|
|
1467
1474
|
return;
|
|
1468
|
-
const svelteMetadataPath = path6.resolve(
|
|
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
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
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
|
}
|