@jay-framework/stack-route-scanner 0.23.0 → 0.24.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 +11 -22
  2. package/package.json +3 -3
package/dist/index.mjs CHANGED
@@ -14,8 +14,7 @@ function convertToRoutePath(BASE_DIR, jayHtmlPath, { jayHtmlFilename, compFilena
14
14
  let rawRoute = jayHtmlPath.replace(BASE_DIR, "").replace(`/${jayHtmlFilename}`, "").replace("\\", "/");
15
15
  const segments = rawRoute.split("/").filter((segment) => segment.length > 0).map((segment) => {
16
16
  const match = segment.match(PARSE_PARAM);
17
- if (!match)
18
- return segment;
17
+ if (!match) return segment;
19
18
  const isOptional = !!match[1];
20
19
  const isCatchAll = !!match[2];
21
20
  const name = match[3];
@@ -36,8 +35,7 @@ async function scanDirectory(BASE_DIR, directory, options) {
36
35
  for (const item of items) {
37
36
  const fullPath = path.join(directory, item.name);
38
37
  if (item.isDirectory()) {
39
- if (IGNORED_DIRS.has(item.name))
40
- continue;
38
+ if (IGNORED_DIRS.has(item.name)) continue;
41
39
  routes = [...routes, ...await scanDirectory(BASE_DIR, fullPath, options)];
42
40
  } else if (item.name === options.jayHtmlFilename) {
43
41
  const route = convertToRoutePath(BASE_DIR, fullPath, options);
@@ -74,8 +72,7 @@ async function scanDirectory(BASE_DIR, directory, options) {
74
72
  return routes;
75
73
  }
76
74
  function getSegmentPriority(segment) {
77
- if (typeof segment === "string")
78
- return 0;
75
+ if (typeof segment === "string") return 0;
79
76
  switch (segment.type) {
80
77
  case 0:
81
78
  return 1;
@@ -90,18 +87,14 @@ function compareRoutes(a, b) {
90
87
  for (let i = 0; i < maxLen; i++) {
91
88
  const segA = a.segments[i];
92
89
  const segB = b.segments[i];
93
- if (segA === void 0)
94
- return 1;
95
- if (segB === void 0)
96
- return -1;
90
+ if (segA === void 0) return 1;
91
+ if (segB === void 0) return -1;
97
92
  const priorityA = getSegmentPriority(segA);
98
93
  const priorityB = getSegmentPriority(segB);
99
- if (priorityA !== priorityB)
100
- return priorityA - priorityB;
94
+ if (priorityA !== priorityB) return priorityA - priorityB;
101
95
  if (typeof segA === "string" && typeof segB === "string") {
102
96
  const cmp = segA.localeCompare(segB);
103
- if (cmp !== 0)
104
- return cmp;
97
+ if (cmp !== 0) return cmp;
105
98
  }
106
99
  }
107
100
  return 0;
@@ -111,8 +104,7 @@ function sortRoutesByPriority(routes) {
111
104
  }
112
105
  function dedentYaml(text) {
113
106
  const lines = text.split("\n").filter((l) => l.trim().length > 0);
114
- if (lines.length === 0)
115
- return "";
107
+ if (lines.length === 0) return "";
116
108
  const minIndent = Math.min(...lines.map((l) => l.match(/^\s*/)?.[0].length ?? 0));
117
109
  return lines.map((l) => l.slice(minIndent)).join("\n");
118
110
  }
@@ -141,13 +133,11 @@ async function parseHeadlessProps(jayHtmlPath) {
141
133
  let merged;
142
134
  for (const script of headlessScripts) {
143
135
  const body = dedentYaml(script.textContent ?? "");
144
- if (!body)
145
- continue;
136
+ if (!body) continue;
146
137
  try {
147
138
  const parsed = YAML.parse(body);
148
139
  if (parsed && typeof parsed === "object") {
149
- if (!merged)
150
- merged = {};
140
+ if (!merged) merged = {};
151
141
  for (const [k, v] of Object.entries(parsed)) {
152
142
  merged[k] = String(v);
153
143
  }
@@ -163,8 +153,7 @@ async function parseHeadlessProps(jayHtmlPath) {
163
153
  function parseRouteSegments(routePath) {
164
154
  return routePath.split("/").filter((s) => s.length > 0).map((segment) => {
165
155
  const match = segment.match(PARSE_PARAM);
166
- if (!match)
167
- return segment;
156
+ if (!match) return segment;
168
157
  return {
169
158
  name: match[3],
170
159
  type: match[1] ? 2 : match[2] ? 1 : 0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jay-framework/stack-route-scanner",
3
- "version": "0.23.0",
3
+ "version": "0.24.0",
4
4
  "license": "Apache-2.0",
5
5
  "main": "dist/index.mjs",
6
6
  "types": "dist/index.d.mts",
@@ -9,7 +9,7 @@
9
9
  "readme.md"
10
10
  ],
11
11
  "dependencies": {
12
- "@jay-framework/logger": "^0.23.0",
12
+ "@jay-framework/logger": "^0.24.0",
13
13
  "node-html-parser": "^6.1.12",
14
14
  "yaml": "^2.3.4"
15
15
  },
@@ -25,7 +25,7 @@
25
25
  "test:watch": "vitest"
26
26
  },
27
27
  "devDependencies": {
28
- "@jay-framework/dev-environment": "^0.23.0",
28
+ "@jay-framework/dev-environment": "^0.24.0",
29
29
  "@types/node": "^20.11.5",
30
30
  "nodemon": "^3.0.3",
31
31
  "replace-in-file": "^7.1.0",