svelte-vitals 0.31.1 → 0.32.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.
package/dist/bin.js CHANGED
@@ -9,7 +9,7 @@ import {
9
9
  readCoreVersion,
10
10
  readPackageVersion,
11
11
  run
12
- } from "./chunk-3YO2A3YF.js";
12
+ } from "./chunk-CWCO6A5B.js";
13
13
 
14
14
  // src/bin.ts
15
15
  import mri3 from "mri";
@@ -1004,8 +1004,8 @@ function readInstalledViteVersion(io) {
1004
1004
  }
1005
1005
 
1006
1006
  // src/ci/action-pin.generated.ts
1007
- var ACTION_SHA = "7ae39edda8bfbaba16ddb6c24871619a9ebe0a5d";
1008
- var ACTION_VERSION = "0.3.7";
1007
+ var ACTION_SHA = "a3af7b5cdb026fc3f6e685b87e964b5190583960";
1008
+ var ACTION_VERSION = "0.3.8";
1009
1009
 
1010
1010
  // src/install/index.ts
1011
1011
  function detectPackageManagerNear(io, appDir) {
@@ -63,6 +63,38 @@ var ProjectError = class extends Error {
63
63
  }
64
64
  };
65
65
  var ROUTES_DIR = "src/routes";
66
+ var MIN_SVELTE_MAJOR = 5;
67
+ var MIN_KIT_MAJOR = 2;
68
+ function leadingMajor(range) {
69
+ const m = range ? /^(?:[\^~]|>=|<=|>|<|=)?\s*(\d+)/.exec(range.trim()) : null;
70
+ return m ? Number(m[1]) : void 0;
71
+ }
72
+ async function checkVersionFloor(rt, cwd) {
73
+ const pkgPath = rt.join(cwd, "package.json");
74
+ if (!await rt.exists(pkgPath)) return [];
75
+ let pkg;
76
+ try {
77
+ pkg = JSON.parse(await rt.readFile(pkgPath));
78
+ } catch {
79
+ return [];
80
+ }
81
+ const warnings = [];
82
+ const svelteRange = pkg.dependencies?.svelte ?? pkg.devDependencies?.svelte;
83
+ const svelteMajor = leadingMajor(svelteRange);
84
+ if (svelteMajor !== void 0 && svelteMajor < MIN_SVELTE_MAJOR) {
85
+ warnings.push(
86
+ `this project declares svelte "${svelteRange}", but rules assume Svelte ${MIN_SVELTE_MAJOR}+ (runes) \u2014 findings may miss the legacy (export let / $:) equivalent of runes-only checks.`
87
+ );
88
+ }
89
+ const kitRange = pkg.dependencies?.["@sveltejs/kit"] ?? pkg.devDependencies?.["@sveltejs/kit"];
90
+ const kitMajor = leadingMajor(kitRange);
91
+ if (kitMajor !== void 0 && kitMajor < MIN_KIT_MAJOR) {
92
+ warnings.push(
93
+ `this project declares @sveltejs/kit "${kitRange}", but rules assume SvelteKit ${MIN_KIT_MAJOR}+ \u2014 some checks may not apply.`
94
+ );
95
+ }
96
+ return warnings;
97
+ }
66
98
  async function detectProject(rt, cwd) {
67
99
  const pkgPath = rt.join(cwd, "package.json");
68
100
  let hasKitDep = false;
@@ -1376,7 +1408,6 @@ async function analyzeProject(opts = {}) {
1376
1408
  const rt = createNodeRuntime();
1377
1409
  const loaded = await loadConfigFile(cwd);
1378
1410
  const file = loaded?.config;
1379
- const warnings = loaded?.warnings ?? [];
1380
1411
  const weights = opts.weights ?? file?.weights;
1381
1412
  const config = defineConfig({
1382
1413
  treatDynamicAs: opts.treatDynamicAs ?? file?.treatDynamicAs ?? "pass",
@@ -1387,6 +1418,7 @@ async function analyzeProject(opts = {}) {
1387
1418
  ...file?.overrides !== void 0 ? { overrides: file.overrides } : {}
1388
1419
  });
1389
1420
  await detectProject(rt, cwd);
1421
+ const warnings = [...loaded?.warnings ?? [], ...await checkVersionFloor(rt, cwd)];
1390
1422
  const matches = routeMatcher(opts.route);
1391
1423
  const collected = await collectRoutes(rt, cwd, config, opts.parseCache);
1392
1424
  const heads = collected.heads.filter((h) => matches(h.route));
package/dist/index.js CHANGED
@@ -10,7 +10,7 @@ import {
10
10
  routeMatcher,
11
11
  run,
12
12
  spinnerEnabled
13
- } from "./chunk-3YO2A3YF.js";
13
+ } from "./chunk-CWCO6A5B.js";
14
14
  export {
15
15
  ProjectError,
16
16
  analyzeProject,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svelte-vitals",
3
- "version": "0.31.1",
3
+ "version": "0.32.0",
4
4
  "description": "A SvelteKit SEO checker — not a runtime Web Vitals reporter. Static analysis of your routes' head metadata.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -46,7 +46,7 @@
46
46
  "smol-toml": "^1.7.0",
47
47
  "svelte": "^5.56.6",
48
48
  "tinyglobby": "^0.2.17",
49
- "@svelte-vitals/core": "0.28.0"
49
+ "@svelte-vitals/core": "0.29.0"
50
50
  },
51
51
  "devDependencies": {
52
52
  "@types/estree": "^1.0.9",