livemark 0.11.1 → 0.11.3
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.
|
@@ -42,6 +42,15 @@ export function livemark(opts) {
|
|
|
42
42
|
// target/ root is livemark's, not the consumer's.
|
|
43
43
|
build: { outDir: join(overridesRoot, "build"), emptyOutDir: true },
|
|
44
44
|
resolve: { dedupe: ["react", "react-dom"] },
|
|
45
|
+
// For the SSR build only, inline every node_modules dep into
|
|
46
|
+
// server.js. The prerender step (which runs server.js with
|
|
47
|
+
// Node) walks node_modules from the build/ dir and can't reach
|
|
48
|
+
// packages buried in pnpm's `.pnpm/*/node_modules/` (e.g.
|
|
49
|
+
// TanStack-internal aliases like `h3-v2`). Self-contained
|
|
50
|
+
// bundle bypasses the issue. Dev SSR keeps externals (faster).
|
|
51
|
+
...(env.command === "build" && {
|
|
52
|
+
environments: { ssr: { resolve: { noExternal: true } } },
|
|
53
|
+
}),
|
|
45
54
|
};
|
|
46
55
|
const override = await resolveViteOverride(opts.config.vite, env);
|
|
47
56
|
return override ? mergeConfig(base, override) : base;
|
|
@@ -58,9 +67,22 @@ export function livemark(opts) {
|
|
|
58
67
|
return `export const config = ${JSON.stringify(config)}`;
|
|
59
68
|
},
|
|
60
69
|
configureServer(server) {
|
|
70
|
+
// Vite 8's chokidar runs with `disableGlobbing: true`, so passing
|
|
71
|
+
// a glob to `.add()` is treated as a literal path and silently
|
|
72
|
+
// does nothing. Pass the directories directly — chokidar watches
|
|
73
|
+
// them recursively by default.
|
|
74
|
+
//
|
|
75
|
+
// Watch only the escapable surfaces under `.livemark/` so we
|
|
76
|
+
// don't burn watches on `.livemark/build/` (the prerendered
|
|
77
|
+
// output dir) or other generated subdirs sitting alongside.
|
|
61
78
|
server.watcher.add(opts.config.configPath);
|
|
62
|
-
|
|
63
|
-
|
|
79
|
+
for (const folder of ESCAPABLE_FOLDERS) {
|
|
80
|
+
server.watcher.add(join(overridesRoot, folder));
|
|
81
|
+
}
|
|
82
|
+
for (const file of ESCAPABLE_FILES) {
|
|
83
|
+
server.watcher.add(join(overridesRoot, file));
|
|
84
|
+
}
|
|
85
|
+
server.watcher.add(SOURCE_DIR);
|
|
64
86
|
server.watcher.on("change", file => onChange(file, "change"));
|
|
65
87
|
server.watcher.on("add", file => onChange(file, "add"));
|
|
66
88
|
server.watcher.on("unlink", file => onChange(file, "unlink"));
|
|
@@ -162,4 +184,4 @@ async function resolveViteOverride(vite, env) {
|
|
|
162
184
|
function isObject(v) {
|
|
163
185
|
return v !== null && typeof v === "object";
|
|
164
186
|
}
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZS1saXZlbWFyay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9wbHVnaW5zL3ZpdGUtbGl2ZW1hcmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQ3BELE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBT3JDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDbEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBRXhELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFNbkUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQTtBQUVsRDs7Ozs7Ozs7Ozs7NkJBVzZCO0FBQzdCLE1BQU0sVUFBVSxHQUFHLGtCQUFrQixDQUFBO0FBQ3JDLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxVQUFVLEVBQUUsQ0FBQTtBQUU3Qzs7Ozs7MENBSzBDO0FBQzFDLE1BQU0sVUFBVSxRQUFRLENBQUMsSUFBcUI7SUFDNUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFBO0lBQ3pELElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQTtJQUNsQixPQUFPO1FBQ0wsSUFBSSxFQUFFLFVBQVU7UUFDaEIsT0FBTyxFQUFFLEtBQUs7UUFDZCxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxHQUFHO1lBQ2pCLFNBQVMsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FB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LEVBQUUsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUMxRCxPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7SUFDekMsQ0FBQztJQUNELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtBQUNyQyxDQUFDO0FBRUQsU0FBUyxRQUFRLENBQUMsQ0FBVTtJQUMxQixPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFBO0FBQzVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcFN5bmMsIGV4aXN0c1N5bmMsIHJtU3luYyB9IGZyb20gXCJub2RlOmZzXCJcbmltcG9ydCB7IGpvaW4sIHNlcCB9IGZyb20gXCJub2RlOnBhdGhcIlxuaW1wb3J0IHR5cGUge1xuICBDb25maWdFbnYsXG4gIFBsdWdpbixcbiAgVXNlckNvbmZpZyBhcyBWaXRlVXNlckNvbmZpZyxcbiAgVml0ZURldlNlcnZlcixcbn0gZnJvbSBcInZpdGVcIlxuaW1wb3J0IHsgbWVyZ2VDb25maWcgfSBmcm9tIFwidml0ZVwiXG5pbXBvcnQgeyBidWlsZFRhcmdldCB9IGZyb20gXCIuLi9hY3Rpb25zL3RhcmdldC9idWlsZC50c1wiXG5pbXBvcnQgdHlwZSB7IENvbmZpZyB9IGZyb20gXCIuLi9tb2RlbHMvY29uZmlnLnRzXCJcbmltcG9ydCB7IFdlYnNpdGVDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbmZpZy50c1wiXG5pbXBvcnQgeyBFU0NBUEFCTEVfRklMRVMsIEVTQ0FQQUJMRV9GT0xERVJTIH0gZnJvbSBcIi4uL3NldHRpbmdzLnRzXCJcblxuZXhwb3J0IGludGVyZmFjZSBMaXZlbWFya09wdGlvbnMge1xuICBjb25maWc6IENvbmZpZ1xufVxuXG5jb25zdCBTT1VSQ0VfRElSID0gam9pbihpbXBvcnQubWV0YS5kaXJuYW1lLCBcIi4uXCIpXG5cbi8qKiBTaW5nbGUgdmlydHVhbCBtb2R1bGUgZXhwb3NpbmcgbGl2ZW1hcmsncyBydW50aW1lIHZhbHVlcyB0byBjb25zdW1lclxuICogIG92ZXJyaWRlIGZpbGVzIHZpYSBuYW1lZCBleHBvcnRzOlxuICpcbiAqICAgICAgaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcImxpdmVtYXJrOnZpcnR1YWxcIlxuICpcbiAqICBDdXJyZW50bHkgZXhwb3J0cyBgY29uZmlnYCAodmFsaWRhdGVkIGBXZWJzaXRlQ29uZmlnYCk7IGZ1dHVyZVxuICogIGFkZGl0aW9ucyAoZS5nLiBgYXJ0aWNsZXNgLCBgc2VjdGlvbnNgKSBsYW5kIGhlcmUgYXMgbmV3IG5hbWVkXG4gKiAgZXhwb3J0cyB3aXRob3V0IGNvbnN1bWVycyBjaGFuZ2luZyB0aGVpciBpbXBvcnQgc3RhdGVtZW50cy5cbiAqXG4gKiAgVGhlIGBcXDBgIHByZWZpeCBvbiB0aGUgcmVzb2x2ZWQgaWQgaXMgVml0ZSdzIGNvbnZlbnRpb24gdG8gc2lnbmFsXG4gKiAgXCJ0aGlzIGlzIGEgdmlydHVhbCBtb2R1bGUg4oCUIG5vIG90aGVyIHBsdWdpbiBzaG91bGQgdHJ5IHRvIHJlc29sdmVcbiAqICBvciBsb2FkIGl0IGZyb20gZGlza1wiLiAqL1xuY29uc3QgVklSVFVBTF9JRCA9IFwibGl2ZW1hcms6dmlydHVhbFwiXG5jb25zdCBWSVJUVUFMX1JFU09MVkVEX0lEID0gYFxcMCR7VklSVFVBTF9JRH1gXG5cbi8qKiBPd25zIHRoZSBwZXItY29uc3VtZXIgYHRhcmdldHMvPGhhc2g+L2AgbW91bnQ6IHN5bnRoZXNpemVzIGl0IHZpYVxuICogIGBidWlsZFRhcmdldCgpYCwgcmV0dXJucyB0aGUgVml0ZSBjb25maWcgdGhhdCBhbmNob3JzIHRoZXJlLCBhbmRcbiAqICB3YXRjaGVzIHRoZSBjb25zdW1lcidzIGAubGl2ZW1hcmsvYCAocGx1cyBsaXZlbWFyaydzIGBzb3VyY2UvYCBpblxuICogIGRldikgZm9yIGNoYW5nZXMgdGhhdCBuZWVkIHRvIGJlIHJlLWNvcGllZCBpbnRvIHRoZSB0YXJnZXQuIFRoZVxuICogIG92ZXJyaWRlIG1lY2hhbmlzbSBpcyBwdXJlIGZpbGUtc3lzdGVtIChmdWxsIGNvcGllcykg4oCUIG5vIHJlc29sdmVJZFxuICogIHJlZGlyZWN0aW9uLCBubyByZWFscGF0aCBzdXJwcmlzZXMuICovXG5leHBvcnQgZnVuY3Rpb24gbGl2ZW1hcmsob3B0czogTGl2ZW1hcmtPcHRpb25zKTogUGx1Z2luIHtcbiAgY29uc3Qgb3ZlcnJpZGVzUm9vdCA9IGpvaW4ob3B0cy5jb25maWcucm9vdCwgXCIubGl2ZW1hcmtcIilcbiAgbGV0IHRhcmdldERpciA9IFwiXCJcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiBcImxpdmVtYXJrXCIsXG4gICAgZW5mb3JjZTogXCJwcmVcIixcbiAgICBhc3luYyBjb25maWcoXywgZW52KSB7XG4gICAgICB0YXJnZXREaXIgPSBidWlsZFRhcmdldChvcHRzLmNvbmZpZy5jb25maWdQYXRoKVxuICAgICAgY29uc3QgYmFzZTogVml0ZVVzZXJDb25maWcgPSB7XG4gICAgICAgIHJvb3Q6IHRhcmdldERpcixcbiAgICAgICAgLy8gb3V0RGlyIGxpdmVzIG91dHNpZGUgdGhlIHRhcmdldCByb290IChpbiB0aGUgY29uc3VtZXInc1xuICAgICAgICAvLyAubGl2ZW1hcmsvKSBzbyB0aGUgY29uc3VtZXIgY2FuIGZpbmQgdGhlaXIgZGVwbG95YWJsZSBvdXRwdXRcbiAgICAgICAgLy8gd2l0aG91dCBkaWdnaW5nIGludG8gbm9kZV9tb2R1bGVzLiBWaXRlJ3MgZGVmYXVsdCByZWZ1c2FsIHRvXG4gICAgICAgIC8vIGVtcHR5IG91dC1vZi1yb290IGRpcmVjdG9yaWVzIGRvZXNuJ3QgYXBwbHkgaGVyZSBiZWNhdXNlIHRoZVxuICAgICAgICAvLyB0YXJnZXQvIHJvb3QgaXMgbGl2ZW1hcmsncywgbm90IHRoZSBjb25zdW1lcidzLlxuICAgICAgICBidWlsZDogeyBvdXREaXI6IGpvaW4ob3ZlcnJpZGVzUm9vdCwgXCJidWlsZFwiKSwgZW1wdHlPdXREaXI6IHRydWUgfSxcbiAgICAgICAgcmVzb2x2ZTogeyBkZWR1cGU6IFtcInJlYWN0XCIsIFwicmVhY3QtZG9tXCJdIH0sXG4gICAgICB9XG4gICAgICBjb25zdCBvdmVycmlkZSA9IGF3YWl0IHJlc29sdmVWaXRlT3ZlcnJpZGUob3B0cy5jb25maWcudml0ZSwgZW52KVxuICAgICAgcmV0dXJuIG92ZXJyaWRlID8gbWVyZ2VDb25maWcoYmFzZSwgb3ZlcnJpZGUpIDogYmFzZVxuICAgIH0sXG4gICAgcmVzb2x2ZUlkKGlkKSB7XG4gICAgICBpZiAoaWQgPT09IFZJUlRVQUxfSUQpIHJldHVybiBWSVJUVUFMX1JFU09MVkVEX0lEXG4gICAgICByZXR1cm4gbnVsbFxuICAgIH0sXG4gICAgbG9hZChpZCkge1xuICAgICAgaWYgKGlkICE9PSBWSVJUVUFMX1JFU09MVkVEX0lEKSByZXR1cm4gbnVsbFxuICAgICAgY29uc3QgY29uZmlnID0gV2Vic2l0ZUNvbmZpZy5wYXJzZShvcHRzLmNvbmZpZylcbiAgICAgIHJldHVybiBgZXhwb3J0IGNvbnN0IGNvbmZpZyA9ICR7SlNPTi5zdHJpbmdpZnkoY29uZmlnKX1gXG4gICAgfSxcbiAgICBjb25maWd1cmVTZXJ2ZXIoc2VydmVyKSB7XG4gICAgICBzZXJ2ZXIud2F0Y2hlci5hZGQob3B0cy5jb25maWcuY29uZmlnUGF0aClcbiAgICAgIHNlcnZlci53YXRjaGVyLmFkZChqb2luKG92ZXJyaWRlc1Jvb3QsIFwiKipcIiwgXCIqXCIpKVxuICAgICAgc2VydmVyLndhdGNoZXIuYWRkKGpvaW4oU09VUkNFX0RJUiwgXCIqKlwiLCBcIipcIikpXG5cbiAgICAgIHNlcnZlci53YXRjaGVyLm9uKFwiY2hhbmdlXCIsIGZpbGUgPT4gb25DaGFuZ2UoZmlsZSwgXCJjaGFuZ2VcIikpXG4gICAgICBzZXJ2ZXIud2F0Y2hlci5vbihcImFkZFwiLCBmaWxlID0+IG9uQ2hhbmdlKGZpbGUsIFwiYWRkXCIpKVxuICAgICAgc2VydmVyLndhdGNoZXIub24oXCJ1bmxpbmtcIiwgZmlsZSA9PiBvbkNoYW5nZShmaWxlLCBcInVubGlua1wiKSlcblxuICAgICAgZnVuY3Rpb24gb25DaGFuZ2UoZmlsZTogc3RyaW5nLCBraW5kOiBcImNoYW5nZVwiIHwgXCJhZGRcIiB8IFwidW5saW5rXCIpIHtcbiAgICAgICAgaWYgKGZpbGUgPT09IG9wdHMuY29uZmlnLmNvbmZpZ1BhdGgpIHtcbiAgICAgICAgICBzZXJ2ZXIucmVzdGFydCgpXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb3ZlcmxheUhpdCA9IG1hdGNoT3ZlcmxheShmaWxlLCBvdmVycmlkZXNSb290KVxuICAgICAgICBpZiAob3ZlcmxheUhpdCkge1xuICAgICAgICAgIHN5bmNPdmVybGF5KG92ZXJsYXlIaXQsIGtpbmQsIHRhcmdldERpciwgb3ZlcnJpZGVzUm9vdClcbiAgICAgICAgICBpZiAoa2luZCAhPT0gXCJjaGFuZ2VcIikgZnVsbFJlbG9hZChzZXJ2ZXIpXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc291cmNlSGl0ID0gbWF0Y2hTb3VyY2UoZmlsZSlcbiAgICAgICAgaWYgKHNvdXJjZUhpdCkge1xuICAgICAgICAgIHN5bmNTb3VyY2Uoc291cmNlSGl0LCBraW5kLCB0YXJnZXREaXIsIG92ZXJyaWRlc1Jvb3QpXG4gICAgICAgICAgaWYgKGtpbmQgIT09IFwiY2hhbmdlXCIpIGZ1bGxSZWxvYWQoc2VydmVyKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgfVxufVxuXG5pbnRlcmZhY2UgSGl0IHtcbiAgcmVsOiBzdHJpbmdcbiAgY2F0ZWdvcnk6IFwiZm9sZGVyXCIgfCBcImZpbGVcIiB8IG51bGxcbn1cblxuZnVuY3Rpb24gbWF0Y2hPdmVybGF5KGZpbGU6IHN0cmluZywgb3ZlcnJpZGVzUm9vdDogc3RyaW5nKTogSGl0IHwgbnVsbCB7XG4gIGNvbnN0IHByZWZpeCA9IGAke292ZXJyaWRlc1Jvb3R9JHtzZXB9YFxuICBpZiAoIWZpbGUuc3RhcnRzV2l0aChwcmVmaXgpKSByZXR1cm4gbnVsbFxuICBjb25zdCByZWwgPSBmaWxlLnNsaWNlKHByZWZpeC5sZW5ndGgpXG4gIHJldHVybiB7IHJlbCwgY2F0ZWdvcnk6IGNsYXNzaWZ5KHJlbCkgfVxufVxuXG5mdW5jdGlvbiBtYXRjaFNvdXJjZShmaWxlOiBzdHJpbmcpOiBIaXQgfCBudWxsIHtcbiAgY29uc3QgcHJlZml4ID0gYCR7U09VUkNFX0RJUn0ke3NlcH1gXG4gIGlmICghZmlsZS5zdGFydHNXaXRoKHByZWZpeCkpIHJldHVybiBudWxsXG4gIC8vIFNraXAgdGhlIHRhcmdldHMvIG91dHB1dCBkaXIgaXRzZWxmIChzaWJsaW5nIG9mIHNvdXJjZS8pIGFuZCBhbnlcbiAgLy8gYC5nZW4udHNgIGZpbGVzIHRoYXQgZG93bnN0cmVhbSB0b29scyByZWdlbmVyYXRlIGluc2lkZSB0aGUgdGFyZ2V0LlxuICBjb25zdCByZWwgPSBmaWxlLnNsaWNlKHByZWZpeC5sZW5ndGgpXG4gIGlmIChyZWwgPT09IFwiXCIgfHwgcmVsLmluY2x1ZGVzKFwicm91dGVUcmVlLmdlbi50c1wiKSkgcmV0dXJuIG51bGxcbiAgcmV0dXJuIHsgcmVsLCBjYXRlZ29yeTogY2xhc3NpZnkocmVsKSB9XG59XG5cbmZ1bmN0aW9uIGNsYXNzaWZ5KHJlbDogc3RyaW5nKTogXCJmb2xkZXJcIiB8IFwiZmlsZVwiIHwgbnVsbCB7XG4gIGNvbnN0IFtoZWFkXSA9IHJlbC5zcGxpdChzZXApXG4gIGlmIChoZWFkICYmIEVTQ0FQQUJMRV9GT0xERVJTLmluY2x1ZGVzKGhlYWQpKSByZXR1cm4gXCJmb2xkZXJcIlxuICBpZiAoRVNDQVBBQkxFX0ZJTEVTLmluY2x1ZGVzKHJlbCkpIHJldHVybiBcImZpbGVcIlxuICAvLyBOb24tZXNjYXBhYmxlIHNvdXJjZSBmaWxlcyBzdGlsbCBuZWVkIHRvIGZsb3cgaW50byB0YXJnZXQgZHVyaW5nXG4gIC8vIGxpdmVtYXJrJ3Mgb3duIGRldiDigJQgdGhlIHVzZXIgaXMgZWRpdGluZyB0aGUgY2Fub25pY2FsIHNvdXJjZS5cbiAgcmV0dXJuIG51bGxcbn1cblxuZnVuY3Rpb24gc3luY092ZXJsYXkoXG4gIGhpdDogSGl0LFxuICBraW5kOiBcImNoYW5nZVwiIHwgXCJhZGRcIiB8IFwidW5saW5rXCIsXG4gIHRhcmdldERpcjogc3RyaW5nLFxuICBvdmVycmlkZXNSb290OiBzdHJpbmcsXG4pIHtcbiAgaWYgKCFoaXQuY2F0ZWdvcnkpIHJldHVyblxuICBjb25zdCBkZXN0ID0gam9pbih0YXJnZXREaXIsIGhpdC5yZWwpXG4gIGNvbnN0IHNvdXJjZSA9IGpvaW4oU09VUkNFX0RJUiwgaGl0LnJlbClcbiAgaWYgKGtpbmQgPT09IFwidW5saW5rXCIpIHtcbiAgICBybVN5bmMoZGVzdCwgeyBmb3JjZTogdHJ1ZSwgcmVjdXJzaXZlOiB0cnVlIH0pXG4gICAgaWYgKGV4aXN0c1N5bmMoc291cmNlKSlcbiAgICAgIGNwU3luYyhzb3VyY2UsIGRlc3QsIHsgcmVjdXJzaXZlOiB0cnVlLCBmb3JjZTogdHJ1ZSB9KVxuICAgIHJldHVyblxuICB9XG4gIGNvbnN0IG92ZXJsYXkgPSBqb2luKG92ZXJyaWRlc1Jvb3QsIGhpdC5yZWwpXG4gIGlmIChleGlzdHNTeW5jKG92ZXJsYXkpKVxuICAgIGNwU3luYyhvdmVybGF5LCBkZXN0LCB7IHJlY3Vyc2l2ZTogdHJ1ZSwgZm9yY2U6IHRydWUgfSlcbn1cblxuZnVuY3Rpb24gc3luY1NvdXJjZShcbiAgaGl0OiBIaXQsXG4gIGtpbmQ6IFwiY2hhbmdlXCIgfCBcImFkZFwiIHwgXCJ1bmxpbmtcIixcbiAgdGFyZ2V0RGlyOiBzdHJpbmcsXG4gIG92ZXJyaWRlc1Jvb3Q6IHN0cmluZyxcbikge1xuICAvLyBJZiB0aGUgY29uc3VtZXIgaGFzIGFuIG92ZXJsYXkgZm9yIHRoaXMgZmlsZSAoYW5kIGl0J3MgZXNjYXBhYmxlKSxcbiAgLy8gdGhlIG92ZXJsYXkgd2lucyDigJQgaWdub3JlIHNvdXJjZSBjaGFuZ2VzLlxuICBpZiAoaGl0LmNhdGVnb3J5ICYmIGV4aXN0c1N5bmMoam9pbihvdmVycmlkZXNSb290LCBoaXQucmVsKSkpIHJldHVyblxuICBjb25zdCBkZXN0ID0gam9pbih0YXJnZXREaXIsIGhpdC5yZWwpXG4gIGNvbnN0IHNvdXJjZSA9IGpvaW4oU09VUkNFX0RJUiwgaGl0LnJlbClcbiAgaWYgKGtpbmQgPT09IFwidW5saW5rXCIpIHtcbiAgICBybVN5bmMoZGVzdCwgeyBmb3JjZTogdHJ1ZSwgcmVjdXJzaXZlOiB0cnVlIH0pXG4gICAgcmV0dXJuXG4gIH1cbiAgaWYgKGV4aXN0c1N5bmMoc291cmNlKSkgY3BTeW5jKHNvdXJjZSwgZGVzdCwgeyByZWN1cnNpdmU6IHRydWUsIGZvcmNlOiB0cnVlIH0pXG59XG5cbmZ1bmN0aW9uIGZ1bGxSZWxvYWQoc2VydmVyOiBWaXRlRGV2U2VydmVyKSB7XG4gIHNlcnZlci53cy5zZW5kKHsgdHlwZTogXCJmdWxsLXJlbG9hZFwiIH0pXG59XG5cbi8qKiBSZXNvbHZlIGxpdmVtYXJrLmNvbmZpZy50cydzIGB2aXRlYCBmaWVsZCDigJQgZWl0aGVyIGEgY29uZmlnIG9iamVjdFxuICogIG9yIGEgZnVuY3Rpb24gYChlbnYpID0+IGNvbmZpZ2AgKG1hdGNoaW5nIFZpdGUncyBvd24gYGRlZmluZUNvbmZpZ2ApLlxuICogIFNjaGVtYSBzdG9yZXMgaXQgYXMgYHVua25vd25gOyB0eXBpbmcgZm9yIHRoZSBjb25zdW1lcidzIGVkaXRvclxuICogIGxpdmVzIG9uIHtAbGluayBWaXRlT3ZlcnJpZGV9LiAqL1xuYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZVZpdGVPdmVycmlkZShcbiAgdml0ZTogdW5rbm93bixcbiAgZW52OiBDb25maWdFbnYsXG4pOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbD4ge1xuICBpZiAoIXZpdGUpIHJldHVybiBudWxsXG4gIGlmICh0eXBlb2Ygdml0ZSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgUmVmbGVjdC5hcHBseSh2aXRlLCB1bmRlZmluZWQsIFtlbnZdKVxuICAgIHJldHVybiBpc09iamVjdChyZXN1bHQpID8gcmVzdWx0IDogbnVsbFxuICB9XG4gIHJldHVybiBpc09iamVjdCh2aXRlKSA/IHZpdGUgOiBudWxsXG59XG5cbmZ1bmN0aW9uIGlzT2JqZWN0KHY6IHVua25vd24pOiB2IGlzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgcmV0dXJuIHYgIT09IG51bGwgJiYgdHlwZW9mIHYgPT09IFwib2JqZWN0XCJcbn1cbiJdfQ==
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZS1saXZlbWFyay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9wbHVnaW5zL3ZpdGUtbGl2ZW1hcmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQ3BELE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBT3JDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDbEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBRXhELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFNbkUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQTtBQUVsRDs7Ozs7Ozs7Ozs7NkJBVzZCO0FBQzdCLE1BQU0sVUFBVSxHQUFHLGtCQUFrQixDQUFBO0FBQ3JDLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxVQUFVLEVBQUUsQ0FBQTtBQUU3Qzs7Ozs7MENBSzBDO0FBQzFDLE1BQU0sVUFBVSxRQUFRLENBQUMsSUFBcUI7SUFDNUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFBO0lBQ3pELElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQTtJQUNsQixPQUFPO1FBQ0wsSUFBSSxFQUFFLFVBQVU7UUFDaEIsT0FBTyxFQUFFLEtBQUs7UUFDZCxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxHQUFHO1lBQ2pCLFNBQVMsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FB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QUUsQ0FBQyxDQUFBO1FBQzlDLE9BQU07SUFDUixDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDO1FBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0FBQ2hGLENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxNQUFxQjtJQUN2QyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFBO0FBQ3pDLENBQUM7QUFFRDs7O3FDQUdxQztBQUNyQyxLQUFLLFVBQVUsbUJBQW1CLENBQ2hDLElBQWEsRUFDYixHQUFjO0lBRWQsSUFBSSxDQUFDLElBQUk7UUFBRSxPQUFPLElBQUksQ0FBQTtJQUN0QixJQUFJLE9BQU8sSUFBSSxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQy9CLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUMxRCxPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7SUFDekMsQ0FBQztJQUNELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtBQUNyQyxDQUFDO0FBRUQsU0FBUyxRQUFRLENBQUMsQ0FBVTtJQUMxQixPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFBO0FBQzVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcFN5bmMsIGV4aXN0c1N5bmMsIHJtU3luYyB9IGZyb20gXCJub2RlOmZzXCJcbmltcG9ydCB7IGpvaW4sIHNlcCB9IGZyb20gXCJub2RlOnBhdGhcIlxuaW1wb3J0IHR5cGUge1xuICBDb25maWdFbnYsXG4gIFBsdWdpbixcbiAgVXNlckNvbmZpZyBhcyBWaXRlVXNlckNvbmZpZyxcbiAgVml0ZURldlNlcnZlcixcbn0gZnJvbSBcInZpdGVcIlxuaW1wb3J0IHsgbWVyZ2VDb25maWcgfSBmcm9tIFwidml0ZVwiXG5pbXBvcnQgeyBidWlsZFRhcmdldCB9IGZyb20gXCIuLi9hY3Rpb25zL3RhcmdldC9idWlsZC50c1wiXG5pbXBvcnQgdHlwZSB7IENvbmZpZyB9IGZyb20gXCIuLi9tb2RlbHMvY29uZmlnLnRzXCJcbmltcG9ydCB7IFdlYnNpdGVDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbmZpZy50c1wiXG5pbXBvcnQgeyBFU0NBUEFCTEVfRklMRVMsIEVTQ0FQQUJMRV9GT0xERVJTIH0gZnJvbSBcIi4uL3NldHRpbmdzLnRzXCJcblxuZXhwb3J0IGludGVyZmFjZSBMaXZlbWFya09wdGlvbnMge1xuICBjb25maWc6IENvbmZpZ1xufVxuXG5jb25zdCBTT1VSQ0VfRElSID0gam9pbihpbXBvcnQubWV0YS5kaXJuYW1lLCBcIi4uXCIpXG5cbi8qKiBTaW5nbGUgdmlydHVhbCBtb2R1bGUgZXhwb3NpbmcgbGl2ZW1hcmsncyBydW50aW1lIHZhbHVlcyB0byBjb25zdW1lclxuICogIG92ZXJyaWRlIGZpbGVzIHZpYSBuYW1lZCBleHBvcnRzOlxuICpcbiAqICAgICAgaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcImxpdmVtYXJrOnZpcnR1YWxcIlxuICpcbiAqICBDdXJyZW50bHkgZXhwb3J0cyBgY29uZmlnYCAodmFsaWRhdGVkIGBXZWJzaXRlQ29uZmlnYCk7IGZ1dHVyZVxuICogIGFkZGl0aW9ucyAoZS5nLiBgYXJ0aWNsZXNgLCBgc2VjdGlvbnNgKSBsYW5kIGhlcmUgYXMgbmV3IG5hbWVkXG4gKiAgZXhwb3J0cyB3aXRob3V0IGNvbnN1bWVycyBjaGFuZ2luZyB0aGVpciBpbXBvcnQgc3RhdGVtZW50cy5cbiAqXG4gKiAgVGhlIGBcXDBgIHByZWZpeCBvbiB0aGUgcmVzb2x2ZWQgaWQgaXMgVml0ZSdzIGNvbnZlbnRpb24gdG8gc2lnbmFsXG4gKiAgXCJ0aGlzIGlzIGEgdmlydHVhbCBtb2R1bGUg4oCUIG5vIG90aGVyIHBsdWdpbiBzaG91bGQgdHJ5IHRvIHJlc29sdmVcbiAqICBvciBsb2FkIGl0IGZyb20gZGlza1wiLiAqL1xuY29uc3QgVklSVFVBTF9JRCA9IFwibGl2ZW1hcms6dmlydHVhbFwiXG5jb25zdCBWSVJUVUFMX1JFU09MVkVEX0lEID0gYFxcMCR7VklSVFVBTF9JRH1gXG5cbi8qKiBPd25zIHRoZSBwZXItY29uc3VtZXIgYHRhcmdldHMvPGhhc2g+L2AgbW91bnQ6IHN5bnRoZXNpemVzIGl0IHZpYVxuICogIGBidWlsZFRhcmdldCgpYCwgcmV0dXJucyB0aGUgVml0ZSBjb25maWcgdGhhdCBhbmNob3JzIHRoZXJlLCBhbmRcbiAqICB3YXRjaGVzIHRoZSBjb25zdW1lcidzIGAubGl2ZW1hcmsvYCAocGx1cyBsaXZlbWFyaydzIGBzb3VyY2UvYCBpblxuICogIGRldikgZm9yIGNoYW5nZXMgdGhhdCBuZWVkIHRvIGJlIHJlLWNvcGllZCBpbnRvIHRoZSB0YXJnZXQuIFRoZVxuICogIG92ZXJyaWRlIG1lY2hhbmlzbSBpcyBwdXJlIGZpbGUtc3lzdGVtIChmdWxsIGNvcGllcykg4oCUIG5vIHJlc29sdmVJZFxuICogIHJlZGlyZWN0aW9uLCBubyByZWFscGF0aCBzdXJwcmlzZXMuICovXG5leHBvcnQgZnVuY3Rpb24gbGl2ZW1hcmsob3B0czogTGl2ZW1hcmtPcHRpb25zKTogUGx1Z2luIHtcbiAgY29uc3Qgb3ZlcnJpZGVzUm9vdCA9IGpvaW4ob3B0cy5jb25maWcucm9vdCwgXCIubGl2ZW1hcmtcIilcbiAgbGV0IHRhcmdldERpciA9IFwiXCJcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiBcImxpdmVtYXJrXCIsXG4gICAgZW5mb3JjZTogXCJwcmVcIixcbiAgICBhc3luYyBjb25maWcoXywgZW52KSB7XG4gICAgICB0YXJnZXREaXIgPSBidWlsZFRhcmdldChvcHRzLmNvbmZpZy5jb25maWdQYXRoKVxuICAgICAgY29uc3QgYmFzZTogVml0ZVVzZXJDb25maWcgPSB7XG4gICAgICAgIHJvb3Q6IHRhcmdldERpcixcbiAgICAgICAgLy8gb3V0RGlyIGxpdmVzIG91dHNpZGUgdGhlIHRhcmdldCByb290IChpbiB0aGUgY29uc3VtZXInc1xuICAgICAgICAvLyAubGl2ZW1hcmsvKSBzbyB0aGUgY29uc3VtZXIgY2FuIGZpbmQgdGhlaXIgZGVwbG95YWJsZSBvdXRwdXRcbiAgICAgICAgLy8gd2l0aG91dCBkaWdnaW5nIGludG8gbm9kZV9tb2R1bGVzLiBWaXRlJ3MgZGVmYXVsdCByZWZ1c2FsIHRvXG4gICAgICAgIC8vIGVtcHR5IG91dC1vZi1yb290IGRpcmVjdG9yaWVzIGRvZXNuJ3QgYXBwbHkgaGVyZSBiZWNhdXNlIHRoZVxuICAgICAgICAvLyB0YXJnZXQvIHJvb3QgaXMgbGl2ZW1hcmsncywgbm90IHRoZSBjb25zdW1lcidzLlxuICAgICAgICBidWlsZDogeyBvdXREaXI6IGpvaW4ob3ZlcnJpZGVzUm9vdCwgXCJidWlsZFwiKSwgZW1wdHlPdXREaXI6IHRydWUgfSxcbiAgICAgICAgcmVzb2x2ZTogeyBkZWR1cGU6IFtcInJlYWN0XCIsIFwicmVhY3QtZG9tXCJdIH0sXG4gICAgICAgIC8vIEZvciB0aGUgU1NSIGJ1aWxkIG9ubHksIGlubGluZSBldmVyeSBub2RlX21vZHVsZXMgZGVwIGludG9cbiAgICAgICAgLy8gc2VydmVyLmpzLiBUaGUgcHJlcmVuZGVyIHN0ZXAgKHdoaWNoIHJ1bnMgc2VydmVyLmpzIHdpdGhcbiAgICAgICAgLy8gTm9kZSkgd2Fsa3Mgbm9kZV9tb2R1bGVzIGZyb20gdGhlIGJ1aWxkLyBkaXIgYW5kIGNhbid0IHJlYWNoXG4gICAgICAgIC8vIHBhY2thZ2VzIGJ1cmllZCBpbiBwbnBtJ3MgYC5wbnBtLyovbm9kZV9tb2R1bGVzL2AgKGUuZy5cbiAgICAgICAgLy8gVGFuU3RhY2staW50ZXJuYWwgYWxpYXNlcyBsaWtlIGBoMy12MmApLiBTZWxmLWNvbnRhaW5lZFxuICAgICAgICAvLyBidW5kbGUgYnlwYXNzZXMgdGhlIGlzc3VlLiBEZXYgU1NSIGtlZXBzIGV4dGVybmFscyAoZmFzdGVyKS5cbiAgICAgICAgLi4uKGVudi5jb21tYW5kID09PSBcImJ1aWxkXCIgJiYge1xuICAgICAgICAgIGVudmlyb25tZW50czogeyBzc3I6IHsgcmVzb2x2ZTogeyBub0V4dGVybmFsOiB0cnVlIH0gfSB9LFxuICAgICAgICB9KSxcbiAgICAgIH1cbiAgICAgIGNvbnN0IG92ZXJyaWRlID0gYXdhaXQgcmVzb2x2ZVZpdGVPdmVycmlkZShvcHRzLmNvbmZpZy52aXRlLCBlbnYpXG4gICAgICByZXR1cm4gb3ZlcnJpZGUgPyBtZXJnZUNvbmZpZyhiYXNlLCBvdmVycmlkZSkgOiBiYXNlXG4gICAgfSxcbiAgICByZXNvbHZlSWQoaWQpIHtcbiAgICAgIGlmIChpZCA9PT0gVklSVFVBTF9JRCkgcmV0dXJuIFZJUlRVQUxfUkVTT0xWRURfSURcbiAgICAgIHJldHVybiBudWxsXG4gICAgfSxcbiAgICBsb2FkKGlkKSB7XG4gICAgICBpZiAoaWQgIT09IFZJUlRVQUxfUkVTT0xWRURfSUQpIHJldHVybiBudWxsXG4gICAgICBjb25zdCBjb25maWcgPSBXZWJzaXRlQ29uZmlnLnBhcnNlKG9wdHMuY29uZmlnKVxuICAgICAgcmV0dXJuIGBleHBvcnQgY29uc3QgY29uZmlnID0gJHtKU09OLnN0cmluZ2lmeShjb25maWcpfWBcbiAgICB9LFxuICAgIGNvbmZpZ3VyZVNlcnZlcihzZXJ2ZXIpIHtcbiAgICAgIC8vIFZpdGUgOCdzIGNob2tpZGFyIHJ1bnMgd2l0aCBgZGlzYWJsZUdsb2JiaW5nOiB0cnVlYCwgc28gcGFzc2luZ1xuICAgICAgLy8gYSBnbG9iIHRvIGAuYWRkKClgIGlzIHRyZWF0ZWQgYXMgYSBsaXRlcmFsIHBhdGggYW5kIHNpbGVudGx5XG4gICAgICAvLyBkb2VzIG5vdGhpbmcuIFBhc3MgdGhlIGRpcmVjdG9yaWVzIGRpcmVjdGx5IOKAlCBjaG9raWRhciB3YXRjaGVzXG4gICAgICAvLyB0aGVtIHJlY3Vyc2l2ZWx5IGJ5IGRlZmF1bHQuXG4gICAgICAvL1xuICAgICAgLy8gV2F0Y2ggb25seSB0aGUgZXNjYXBhYmxlIHN1cmZhY2VzIHVuZGVyIGAubGl2ZW1hcmsvYCBzbyB3ZVxuICAgICAgLy8gZG9uJ3QgYnVybiB3YXRjaGVzIG9uIGAubGl2ZW1hcmsvYnVpbGQvYCAodGhlIHByZXJlbmRlcmVkXG4gICAgICAvLyBvdXRwdXQgZGlyKSBvciBvdGhlciBnZW5lcmF0ZWQgc3ViZGlycyBzaXR0aW5nIGFsb25nc2lkZS5cbiAgICAgIHNlcnZlci53YXRjaGVyLmFkZChvcHRzLmNvbmZpZy5jb25maWdQYXRoKVxuICAgICAgZm9yIChjb25zdCBmb2xkZXIgb2YgRVNDQVBBQkxFX0ZPTERFUlMpIHtcbiAgICAgICAgc2VydmVyLndhdGNoZXIuYWRkKGpvaW4ob3ZlcnJpZGVzUm9vdCwgZm9sZGVyKSlcbiAgICAgIH1cbiAgICAgIGZvciAoY29uc3QgZmlsZSBvZiBFU0NBUEFCTEVfRklMRVMpIHtcbiAgICAgICAgc2VydmVyLndhdGNoZXIuYWRkKGpvaW4ob3ZlcnJpZGVzUm9vdCwgZmlsZSkpXG4gICAgICB9XG4gICAgICBzZXJ2ZXIud2F0Y2hlci5hZGQoU09VUkNFX0RJUilcblxuICAgICAgc2VydmVyLndhdGNoZXIub24oXCJjaGFuZ2VcIiwgZmlsZSA9PiBvbkNoYW5nZShmaWxlLCBcImNoYW5nZVwiKSlcbiAgICAgIHNlcnZlci53YXRjaGVyLm9uKFwiYWRkXCIsIGZpbGUgPT4gb25DaGFuZ2UoZmlsZSwgXCJhZGRcIikpXG4gICAgICBzZXJ2ZXIud2F0Y2hlci5vbihcInVubGlua1wiLCBmaWxlID0+IG9uQ2hhbmdlKGZpbGUsIFwidW5saW5rXCIpKVxuXG4gICAgICBmdW5jdGlvbiBvbkNoYW5nZShmaWxlOiBzdHJpbmcsIGtpbmQ6IFwiY2hhbmdlXCIgfCBcImFkZFwiIHwgXCJ1bmxpbmtcIikge1xuICAgICAgICBpZiAoZmlsZSA9PT0gb3B0cy5jb25maWcuY29uZmlnUGF0aCkge1xuICAgICAgICAgIHNlcnZlci5yZXN0YXJ0KClcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvdmVybGF5SGl0ID0gbWF0Y2hPdmVybGF5KGZpbGUsIG92ZXJyaWRlc1Jvb3QpXG4gICAgICAgIGlmIChvdmVybGF5SGl0KSB7XG4gICAgICAgICAgc3luY092ZXJsYXkob3ZlcmxheUhpdCwga2luZCwgdGFyZ2V0RGlyLCBvdmVycmlkZXNSb290KVxuICAgICAgICAgIGlmIChraW5kICE9PSBcImNoYW5nZVwiKSBmdWxsUmVsb2FkKHNlcnZlcilcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzb3VyY2VIaXQgPSBtYXRjaFNvdXJjZShmaWxlKVxuICAgICAgICBpZiAoc291cmNlSGl0KSB7XG4gICAgICAgICAgc3luY1NvdXJjZShzb3VyY2VIaXQsIGtpbmQsIHRhcmdldERpciwgb3ZlcnJpZGVzUm9vdClcbiAgICAgICAgICBpZiAoa2luZCAhPT0gXCJjaGFuZ2VcIikgZnVsbFJlbG9hZChzZXJ2ZXIpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICB9XG59XG5cbmludGVyZmFjZSBIaXQge1xuICByZWw6IHN0cmluZ1xuICBjYXRlZ29yeTogXCJmb2xkZXJcIiB8IFwiZmlsZVwiIHwgbnVsbFxufVxuXG5mdW5jdGlvbiBtYXRjaE92ZXJsYXkoZmlsZTogc3RyaW5nLCBvdmVycmlkZXNSb290OiBzdHJpbmcpOiBIaXQgfCBudWxsIHtcbiAgY29uc3QgcHJlZml4ID0gYCR7b3ZlcnJpZGVzUm9vdH0ke3NlcH1gXG4gIGlmICghZmlsZS5zdGFydHNXaXRoKHByZWZpeCkpIHJldHVybiBudWxsXG4gIGNvbnN0IHJlbCA9IGZpbGUuc2xpY2UocHJlZml4Lmxlbmd0aClcbiAgcmV0dXJuIHsgcmVsLCBjYXRlZ29yeTogY2xhc3NpZnkocmVsKSB9XG59XG5cbmZ1bmN0aW9uIG1hdGNoU291cmNlKGZpbGU6IHN0cmluZyk6IEhpdCB8IG51bGwge1xuICBjb25zdCBwcmVmaXggPSBgJHtTT1VSQ0VfRElSfSR7c2VwfWBcbiAgaWYgKCFmaWxlLnN0YXJ0c1dpdGgocHJlZml4KSkgcmV0dXJuIG51bGxcbiAgLy8gU2tpcCB0aGUgdGFyZ2V0cy8gb3V0cHV0IGRpciBpdHNlbGYgKHNpYmxpbmcgb2Ygc291cmNlLykgYW5kIGFueVxuICAvLyBgLmdlbi50c2AgZmlsZXMgdGhhdCBkb3duc3RyZWFtIHRvb2xzIHJlZ2VuZXJhdGUgaW5zaWRlIHRoZSB0YXJnZXQuXG4gIGNvbnN0IHJlbCA9IGZpbGUuc2xpY2UocHJlZml4Lmxlbmd0aClcbiAgaWYgKHJlbCA9PT0gXCJcIiB8fCByZWwuaW5jbHVkZXMoXCJyb3V0ZVRyZWUuZ2VuLnRzXCIpKSByZXR1cm4gbnVsbFxuICByZXR1cm4geyByZWwsIGNhdGVnb3J5OiBjbGFzc2lmeShyZWwpIH1cbn1cblxuZnVuY3Rpb24gY2xhc3NpZnkocmVsOiBzdHJpbmcpOiBcImZvbGRlclwiIHwgXCJmaWxlXCIgfCBudWxsIHtcbiAgY29uc3QgW2hlYWRdID0gcmVsLnNwbGl0KHNlcClcbiAgaWYgKGhlYWQgJiYgRVNDQVBBQkxFX0ZPTERFUlMuaW5jbHVkZXMoaGVhZCkpIHJldHVybiBcImZvbGRlclwiXG4gIGlmIChFU0NBUEFCTEVfRklMRVMuaW5jbHVkZXMocmVsKSkgcmV0dXJuIFwiZmlsZVwiXG4gIC8vIE5vbi1lc2NhcGFibGUgc291cmNlIGZpbGVzIHN0aWxsIG5lZWQgdG8gZmxvdyBpbnRvIHRhcmdldCBkdXJpbmdcbiAgLy8gbGl2ZW1hcmsncyBvd24gZGV2IOKAlCB0aGUgdXNlciBpcyBlZGl0aW5nIHRoZSBjYW5vbmljYWwgc291cmNlLlxuICByZXR1cm4gbnVsbFxufVxuXG5mdW5jdGlvbiBzeW5jT3ZlcmxheShcbiAgaGl0OiBIaXQsXG4gIGtpbmQ6IFwiY2hhbmdlXCIgfCBcImFkZFwiIHwgXCJ1bmxpbmtcIixcbiAgdGFyZ2V0RGlyOiBzdHJpbmcsXG4gIG92ZXJyaWRlc1Jvb3Q6IHN0cmluZyxcbikge1xuICBpZiAoIWhpdC5jYXRlZ29yeSkgcmV0dXJuXG4gIGNvbnN0IGRlc3QgPSBqb2luKHRhcmdldERpciwgaGl0LnJlbClcbiAgY29uc3Qgc291cmNlID0gam9pbihTT1VSQ0VfRElSLCBoaXQucmVsKVxuICBpZiAoa2luZCA9PT0gXCJ1bmxpbmtcIikge1xuICAgIHJtU3luYyhkZXN0LCB7IGZvcmNlOiB0cnVlLCByZWN1cnNpdmU6IHRydWUgfSlcbiAgICBpZiAoZXhpc3RzU3luYyhzb3VyY2UpKVxuICAgICAgY3BTeW5jKHNvdXJjZSwgZGVzdCwgeyByZWN1cnNpdmU6IHRydWUsIGZvcmNlOiB0cnVlIH0pXG4gICAgcmV0dXJuXG4gIH1cbiAgY29uc3Qgb3ZlcmxheSA9IGpvaW4ob3ZlcnJpZGVzUm9vdCwgaGl0LnJlbClcbiAgaWYgKGV4aXN0c1N5bmMob3ZlcmxheSkpXG4gICAgY3BTeW5jKG92ZXJsYXksIGRlc3QsIHsgcmVjdXJzaXZlOiB0cnVlLCBmb3JjZTogdHJ1ZSB9KVxufVxuXG5mdW5jdGlvbiBzeW5jU291cmNlKFxuICBoaXQ6IEhpdCxcbiAga2luZDogXCJjaGFuZ2VcIiB8IFwiYWRkXCIgfCBcInVubGlua1wiLFxuICB0YXJnZXREaXI6IHN0cmluZyxcbiAgb3ZlcnJpZGVzUm9vdDogc3RyaW5nLFxuKSB7XG4gIC8vIElmIHRoZSBjb25zdW1lciBoYXMgYW4gb3ZlcmxheSBmb3IgdGhpcyBmaWxlIChhbmQgaXQncyBlc2NhcGFibGUpLFxuICAvLyB0aGUgb3ZlcmxheSB3aW5zIOKAlCBpZ25vcmUgc291cmNlIGNoYW5nZXMuXG4gIGlmIChoaXQuY2F0ZWdvcnkgJiYgZXhpc3RzU3luYyhqb2luKG92ZXJyaWRlc1Jvb3QsIGhpdC5yZWwpKSkgcmV0dXJuXG4gIGNvbnN0IGRlc3QgPSBqb2luKHRhcmdldERpciwgaGl0LnJlbClcbiAgY29uc3Qgc291cmNlID0gam9pbihTT1VSQ0VfRElSLCBoaXQucmVsKVxuICBpZiAoa2luZCA9PT0gXCJ1bmxpbmtcIikge1xuICAgIHJtU3luYyhkZXN0LCB7IGZvcmNlOiB0cnVlLCByZWN1cnNpdmU6IHRydWUgfSlcbiAgICByZXR1cm5cbiAgfVxuICBpZiAoZXhpc3RzU3luYyhzb3VyY2UpKSBjcFN5bmMoc291cmNlLCBkZXN0LCB7IHJlY3Vyc2l2ZTogdHJ1ZSwgZm9yY2U6IHRydWUgfSlcbn1cblxuZnVuY3Rpb24gZnVsbFJlbG9hZChzZXJ2ZXI6IFZpdGVEZXZTZXJ2ZXIpIHtcbiAgc2VydmVyLndzLnNlbmQoeyB0eXBlOiBcImZ1bGwtcmVsb2FkXCIgfSlcbn1cblxuLyoqIFJlc29sdmUgbGl2ZW1hcmsuY29uZmlnLnRzJ3MgYHZpdGVgIGZpZWxkIOKAlCBlaXRoZXIgYSBjb25maWcgb2JqZWN0XG4gKiAgb3IgYSBmdW5jdGlvbiBgKGVudikgPT4gY29uZmlnYCAobWF0Y2hpbmcgVml0ZSdzIG93biBgZGVmaW5lQ29uZmlnYCkuXG4gKiAgU2NoZW1hIHN0b3JlcyBpdCBhcyBgdW5rbm93bmA7IHR5cGluZyBmb3IgdGhlIGNvbnN1bWVyJ3MgZWRpdG9yXG4gKiAgbGl2ZXMgb24ge0BsaW5rIFZpdGVPdmVycmlkZX0uICovXG5hc3luYyBmdW5jdGlvbiByZXNvbHZlVml0ZU92ZXJyaWRlKFxuICB2aXRlOiB1bmtub3duLFxuICBlbnY6IENvbmZpZ0Vudixcbik6IFByb21pc2U8UmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsPiB7XG4gIGlmICghdml0ZSkgcmV0dXJuIG51bGxcbiAgaWYgKHR5cGVvZiB2aXRlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBSZWZsZWN0LmFwcGx5KHZpdGUsIHVuZGVmaW5lZCwgW2Vudl0pXG4gICAgcmV0dXJuIGlzT2JqZWN0KHJlc3VsdCkgPyByZXN1bHQgOiBudWxsXG4gIH1cbiAgcmV0dXJuIGlzT2JqZWN0KHZpdGUpID8gdml0ZSA6IG51bGxcbn1cblxuZnVuY3Rpb24gaXNPYmplY3QodjogdW5rbm93bik6IHYgaXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICByZXR1cm4gdiAhPT0gbnVsbCAmJiB0eXBlb2YgdiA9PT0gXCJvYmplY3RcIlxufVxuIl19
|
package/package.json
CHANGED
|
@@ -56,6 +56,15 @@ export function livemark(opts: LivemarkOptions): Plugin {
|
|
|
56
56
|
// target/ root is livemark's, not the consumer's.
|
|
57
57
|
build: { outDir: join(overridesRoot, "build"), emptyOutDir: true },
|
|
58
58
|
resolve: { dedupe: ["react", "react-dom"] },
|
|
59
|
+
// For the SSR build only, inline every node_modules dep into
|
|
60
|
+
// server.js. The prerender step (which runs server.js with
|
|
61
|
+
// Node) walks node_modules from the build/ dir and can't reach
|
|
62
|
+
// packages buried in pnpm's `.pnpm/*/node_modules/` (e.g.
|
|
63
|
+
// TanStack-internal aliases like `h3-v2`). Self-contained
|
|
64
|
+
// bundle bypasses the issue. Dev SSR keeps externals (faster).
|
|
65
|
+
...(env.command === "build" && {
|
|
66
|
+
environments: { ssr: { resolve: { noExternal: true } } },
|
|
67
|
+
}),
|
|
59
68
|
}
|
|
60
69
|
const override = await resolveViteOverride(opts.config.vite, env)
|
|
61
70
|
return override ? mergeConfig(base, override) : base
|
|
@@ -70,9 +79,22 @@ export function livemark(opts: LivemarkOptions): Plugin {
|
|
|
70
79
|
return `export const config = ${JSON.stringify(config)}`
|
|
71
80
|
},
|
|
72
81
|
configureServer(server) {
|
|
82
|
+
// Vite 8's chokidar runs with `disableGlobbing: true`, so passing
|
|
83
|
+
// a glob to `.add()` is treated as a literal path and silently
|
|
84
|
+
// does nothing. Pass the directories directly — chokidar watches
|
|
85
|
+
// them recursively by default.
|
|
86
|
+
//
|
|
87
|
+
// Watch only the escapable surfaces under `.livemark/` so we
|
|
88
|
+
// don't burn watches on `.livemark/build/` (the prerendered
|
|
89
|
+
// output dir) or other generated subdirs sitting alongside.
|
|
73
90
|
server.watcher.add(opts.config.configPath)
|
|
74
|
-
|
|
75
|
-
|
|
91
|
+
for (const folder of ESCAPABLE_FOLDERS) {
|
|
92
|
+
server.watcher.add(join(overridesRoot, folder))
|
|
93
|
+
}
|
|
94
|
+
for (const file of ESCAPABLE_FILES) {
|
|
95
|
+
server.watcher.add(join(overridesRoot, file))
|
|
96
|
+
}
|
|
97
|
+
server.watcher.add(SOURCE_DIR)
|
|
76
98
|
|
|
77
99
|
server.watcher.on("change", file => onChange(file, "change"))
|
|
78
100
|
server.watcher.on("add", file => onChange(file, "add"))
|