nuxt-ai-ready 1.7.7 → 1.7.8
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/chunks/prerender.mjs +34 -13
- package/dist/module.json +1 -1
- package/package.json +1 -1
|
@@ -122,18 +122,7 @@ async function initCrawler(state) {
|
|
|
122
122
|
if (state.dbPath) {
|
|
123
123
|
logger.debug(`Creating directory for SQLite: ${dirname(state.dbPath)}`);
|
|
124
124
|
await mkdir(dirname(state.dbPath), { recursive: true });
|
|
125
|
-
const
|
|
126
|
-
const sqlite = new Database(state.dbPath);
|
|
127
|
-
const db = {
|
|
128
|
-
all: async (sql, params = []) => sqlite.prepare(sql).all(...params),
|
|
129
|
-
first: async (sql, params = []) => sqlite.prepare(sql).get(...params),
|
|
130
|
-
exec: async (sql, params = []) => {
|
|
131
|
-
sqlite.prepare(sql).run(...params);
|
|
132
|
-
},
|
|
133
|
-
close: async () => {
|
|
134
|
-
sqlite.close();
|
|
135
|
-
}
|
|
136
|
-
};
|
|
125
|
+
const db = await createPrerenderDatabase(state.dbPath);
|
|
137
126
|
state.db = db;
|
|
138
127
|
await initSchema(db, { ftsTokenizer: state.ftsTokenizer });
|
|
139
128
|
logger.debug(`Crawler initialized with SQLite at ${state.dbPath} (tokenizer: ${state.ftsTokenizer || "default"})`);
|
|
@@ -148,6 +137,38 @@ async function initCrawler(state) {
|
|
|
148
137
|
}
|
|
149
138
|
state.initialized = true;
|
|
150
139
|
}
|
|
140
|
+
async function createPrerenderDatabase(dbPath) {
|
|
141
|
+
const nodeVersion = Number.parseInt(process.versions.node?.split(".")[0] || "0");
|
|
142
|
+
if (nodeVersion >= 22) {
|
|
143
|
+
const { DatabaseSync } = await import('node:sqlite');
|
|
144
|
+
const sqlite2 = new DatabaseSync(dbPath);
|
|
145
|
+
return {
|
|
146
|
+
all: async (sql, params = []) => sqlite2.prepare(sql).all(...params),
|
|
147
|
+
first: async (sql, params = []) => sqlite2.prepare(sql).get(...params),
|
|
148
|
+
exec: async (sql, params = []) => {
|
|
149
|
+
if (params.length)
|
|
150
|
+
sqlite2.prepare(sql).run(...params);
|
|
151
|
+
else
|
|
152
|
+
sqlite2.exec(sql);
|
|
153
|
+
},
|
|
154
|
+
close: async () => {
|
|
155
|
+
sqlite2.close();
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
const { default: Database } = await import('better-sqlite3');
|
|
160
|
+
const sqlite = new Database(dbPath);
|
|
161
|
+
return {
|
|
162
|
+
all: async (sql, params = []) => sqlite.prepare(sql).all(...params),
|
|
163
|
+
first: async (sql, params = []) => sqlite.prepare(sql).get(...params),
|
|
164
|
+
exec: async (sql, params = []) => {
|
|
165
|
+
sqlite.prepare(sql).run(...params);
|
|
166
|
+
},
|
|
167
|
+
close: async () => {
|
|
168
|
+
sqlite.close();
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
}
|
|
151
172
|
function flattenHeadings(headings) {
|
|
152
173
|
return (headings || []).map((h) => Object.entries(h).map(([tag, text]) => `${tag}:${text}`).join("")).join("|");
|
|
153
174
|
}
|
|
@@ -488,4 +509,4 @@ function setupPrerenderHandler(options, dbPath, siteInfo, llmsTxtConfig, indexNo
|
|
|
488
509
|
});
|
|
489
510
|
}
|
|
490
511
|
|
|
491
|
-
export { detectSitemapPrerender, setupPrerenderHandler };
|
|
512
|
+
export { createPrerenderDatabase, detectSitemapPrerender, setupPrerenderHandler };
|
package/dist/module.json
CHANGED