nuxt-ai-ready 1.7.13 → 1.7.14
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 +37 -23
- package/dist/module.json +1 -1
- package/package.json +1 -1
|
@@ -137,38 +137,52 @@ async function initCrawler(state) {
|
|
|
137
137
|
}
|
|
138
138
|
state.initialized = true;
|
|
139
139
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
},
|
|
154
|
-
close: async () => {
|
|
155
|
-
sqlite2.close();
|
|
156
|
-
}
|
|
157
|
-
};
|
|
140
|
+
const PRERENDER_PRAGMAS = [
|
|
141
|
+
"PRAGMA synchronous = OFF",
|
|
142
|
+
"PRAGMA temp_store = MEMORY"
|
|
143
|
+
];
|
|
144
|
+
function createSqliteAdapter(sqlite) {
|
|
145
|
+
const statements = /* @__PURE__ */ new Map();
|
|
146
|
+
function prepare(sql) {
|
|
147
|
+
let statement = statements.get(sql);
|
|
148
|
+
if (!statement) {
|
|
149
|
+
statement = sqlite.prepare(sql);
|
|
150
|
+
statements.set(sql, statement);
|
|
151
|
+
}
|
|
152
|
+
return statement;
|
|
158
153
|
}
|
|
159
|
-
const { default: Database } = await import('better-sqlite3');
|
|
160
|
-
const sqlite = new Database(dbPath);
|
|
161
154
|
return {
|
|
162
|
-
all: async (sql, params = []) =>
|
|
163
|
-
first: async (sql, params = []) =>
|
|
155
|
+
all: async (sql, params = []) => prepare(sql).all(...params),
|
|
156
|
+
first: async (sql, params = []) => prepare(sql).get(...params),
|
|
164
157
|
exec: async (sql, params = []) => {
|
|
165
|
-
|
|
158
|
+
if (params.length) {
|
|
159
|
+
prepare(sql).run(...params);
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
statements.clear();
|
|
163
|
+
sqlite.exec(sql);
|
|
166
164
|
},
|
|
167
165
|
close: async () => {
|
|
166
|
+
statements.clear();
|
|
168
167
|
sqlite.close();
|
|
169
168
|
}
|
|
170
169
|
};
|
|
171
170
|
}
|
|
171
|
+
async function createPrerenderDatabase(dbPath) {
|
|
172
|
+
const nodeVersion = Number.parseInt(process.versions.node?.split(".")[0] || "0");
|
|
173
|
+
if (nodeVersion >= 22) {
|
|
174
|
+
const { DatabaseSync } = await import('node:sqlite');
|
|
175
|
+
const sqlite2 = new DatabaseSync(dbPath);
|
|
176
|
+
for (const pragma of PRERENDER_PRAGMAS)
|
|
177
|
+
sqlite2.exec(pragma);
|
|
178
|
+
return createSqliteAdapter(sqlite2);
|
|
179
|
+
}
|
|
180
|
+
const { default: Database } = await import('better-sqlite3');
|
|
181
|
+
const sqlite = new Database(dbPath);
|
|
182
|
+
for (const pragma of PRERENDER_PRAGMAS)
|
|
183
|
+
sqlite.exec(pragma);
|
|
184
|
+
return createSqliteAdapter(sqlite);
|
|
185
|
+
}
|
|
172
186
|
function flattenHeadings(headings) {
|
|
173
187
|
return (headings || []).map((h) => Object.entries(h).map(([tag, text]) => `${tag}:${text}`).join("")).join("|");
|
|
174
188
|
}
|
package/dist/module.json
CHANGED