@cavuno/board 4.35.0 → 4.36.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/CHANGELOG.md +22 -0
- package/dist/{_spec-DBpKC6Rv.d.mts → _spec-C4T68Nnr.d.mts} +3 -1
- package/dist/{_spec-DBpKC6Rv.d.ts → _spec-C4T68Nnr.d.ts} +3 -1
- package/dist/bin.mjs +32 -22
- package/dist/{blog-Bk6oHqIR.d.ts → blog-_LtV-JaY.d.ts} +1 -1
- package/dist/{blog-DXCzYj2q.d.mts → blog-bQmqKnw2.d.mts} +1 -1
- package/dist/{board-BpOyLLl_.d.ts → board-2UfZ7fZk.d.ts} +2 -2
- package/dist/{board-D6yRj3IN.d.mts → board-CRgQjnrn.d.mts} +2 -2
- package/dist/{breadcrumbs-B5qrRrgN.d.ts → breadcrumbs-C_jNh4xd.d.ts} +2 -2
- package/dist/{breadcrumbs-BnYHHx40.d.mts → breadcrumbs-f7KFSWnx.d.mts} +2 -2
- package/dist/browser/cavuno-board.global.min.js +1 -1
- package/dist/doctor.d.mts +41 -1
- package/dist/doctor.d.ts +41 -1
- package/dist/doctor.js +59 -22
- package/dist/doctor.mjs +58 -22
- package/dist/filters.d.mts +2 -2
- package/dist/filters.d.ts +2 -2
- package/dist/format.d.mts +4 -4
- package/dist/format.d.ts +4 -4
- package/dist/index.d.mts +15 -12
- package/dist/index.d.ts +15 -12
- package/dist/index.js +4 -2
- package/dist/index.mjs +4 -2
- package/dist/{jobs-DX_wDSzt.d.ts → jobs-3Md7CCMl.d.ts} +1 -1
- package/dist/{jobs-Cgh8dwXB.d.mts → jobs-Cg2d2oI4.d.mts} +1 -1
- package/dist/{search-DOmwaBud.d.ts → search-15gcqPyt.d.ts} +1 -1
- package/dist/{search-DsR5-O8E.d.mts → search-CyDzceiR.d.mts} +1 -1
- package/dist/{seo-DtLE8C9q.d.ts → seo-CON8CLIF.d.ts} +1 -1
- package/dist/{seo-DbzhNmAY.d.mts → seo-DuWLAh1M.d.mts} +1 -1
- package/dist/seo-files.d.mts +2 -2
- package/dist/seo-files.d.ts +2 -2
- package/dist/seo.d.mts +6 -6
- package/dist/seo.d.ts +6 -6
- package/dist/server.d.mts +6 -6
- package/dist/server.d.ts +6 -6
- package/dist/sitemap.d.mts +6 -6
- package/dist/sitemap.d.ts +6 -6
- package/dist/suggest.d.mts +2 -2
- package/dist/suggest.d.ts +2 -2
- package/package.json +1 -1
- package/skills/manifest.json +1 -1
package/dist/doctor.d.mts
CHANGED
|
@@ -45,4 +45,44 @@ interface DoctorRun {
|
|
|
45
45
|
}
|
|
46
46
|
declare function runDoctor(options: RunDoctorOptions): Promise<DoctorRun>;
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
/**
|
|
49
|
+
*cookie-codec conformance.
|
|
50
|
+
*
|
|
51
|
+
* Starter / consumer code must not domain-scope cookies on the shared
|
|
52
|
+
* origin. The SDK server cookie codec (`buildCookie` / `buildClearCookie`
|
|
53
|
+
* / `serializeSessionCookie` from `@cavuno/board/server`) mints host-only
|
|
54
|
+
* `__Host-` values; attaching those via `Set-Cookie` is the sanctioned
|
|
55
|
+
* path and is GREEN. Domain-scoped writes (raw `Set-Cookie` with
|
|
56
|
+
* `Domain=`, or `document.cookie = … Domain=`) are RED.
|
|
57
|
+
*
|
|
58
|
+
* Caveat: the doctor is accountability tooling,
|
|
59
|
+
* not a security boundary. Tenants remain identifiable paying customers
|
|
60
|
+
* with an audit trail; this check does not prevent determined abuse.
|
|
61
|
+
*
|
|
62
|
+
* Scope: application-authored source only. Generated output under `src/` is
|
|
63
|
+
* skipped (see GENERATED_DIRS / GENERATED_FILE / hasGeneratedBanner) —
|
|
64
|
+
* a tenant cannot fix a finding in a file their build regenerates, so
|
|
65
|
+
* flagging one is pure noise. The motivating case is Paraglide JS: its
|
|
66
|
+
* compiler writes `src/paraglide/**` (gitignored in the starter) and
|
|
67
|
+
* `runtime.js` contains a `document.cookie = … cookieDomain` write for
|
|
68
|
+
* Paraglide's own LOCALE cookie strategy — dead behind a
|
|
69
|
+
* `TREE_SHAKE_COOKIE_STRATEGY_USED` guard on a board compiled without
|
|
70
|
+
* the cookie strategy, and unfixable by the consumer either way.
|
|
71
|
+
*
|
|
72
|
+
* Why not `.gitignore`? It is the most correct signal, but parsing it
|
|
73
|
+
* faithfully (nested files, negations, precedence, dir-vs-path anchors)
|
|
74
|
+
* needs a dependency the SDK will not take, and shelling out to
|
|
75
|
+
* `git check-ignore` assumes both a git binary and a git working tree —
|
|
76
|
+
* neither holds for platform-built tenant projects. The pattern list
|
|
77
|
+
* plus the banner heuristic covers the generators this supported projects actually
|
|
78
|
+
* runs without either assumption.
|
|
79
|
+
*/
|
|
80
|
+
|
|
81
|
+
type CookieSourceFile = {
|
|
82
|
+
path: string;
|
|
83
|
+
contents: string | Uint8Array;
|
|
84
|
+
};
|
|
85
|
+
/** Scan an immutable source snapshot with the same rules as Doctor's file scan. */
|
|
86
|
+
declare function checkCookieCodecConformanceFiles(files: readonly CookieSourceFile[]): CheckResult[];
|
|
87
|
+
|
|
88
|
+
export { type CheckResult, type CheckStatus, type DoctorEnv, type DoctorRun, type DoctorSummary, type RunDoctorOptions, checkCookieCodecConformanceFiles, runDoctor };
|
package/dist/doctor.d.ts
CHANGED
|
@@ -45,4 +45,44 @@ interface DoctorRun {
|
|
|
45
45
|
}
|
|
46
46
|
declare function runDoctor(options: RunDoctorOptions): Promise<DoctorRun>;
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
/**
|
|
49
|
+
*cookie-codec conformance.
|
|
50
|
+
*
|
|
51
|
+
* Starter / consumer code must not domain-scope cookies on the shared
|
|
52
|
+
* origin. The SDK server cookie codec (`buildCookie` / `buildClearCookie`
|
|
53
|
+
* / `serializeSessionCookie` from `@cavuno/board/server`) mints host-only
|
|
54
|
+
* `__Host-` values; attaching those via `Set-Cookie` is the sanctioned
|
|
55
|
+
* path and is GREEN. Domain-scoped writes (raw `Set-Cookie` with
|
|
56
|
+
* `Domain=`, or `document.cookie = … Domain=`) are RED.
|
|
57
|
+
*
|
|
58
|
+
* Caveat: the doctor is accountability tooling,
|
|
59
|
+
* not a security boundary. Tenants remain identifiable paying customers
|
|
60
|
+
* with an audit trail; this check does not prevent determined abuse.
|
|
61
|
+
*
|
|
62
|
+
* Scope: application-authored source only. Generated output under `src/` is
|
|
63
|
+
* skipped (see GENERATED_DIRS / GENERATED_FILE / hasGeneratedBanner) —
|
|
64
|
+
* a tenant cannot fix a finding in a file their build regenerates, so
|
|
65
|
+
* flagging one is pure noise. The motivating case is Paraglide JS: its
|
|
66
|
+
* compiler writes `src/paraglide/**` (gitignored in the starter) and
|
|
67
|
+
* `runtime.js` contains a `document.cookie = … cookieDomain` write for
|
|
68
|
+
* Paraglide's own LOCALE cookie strategy — dead behind a
|
|
69
|
+
* `TREE_SHAKE_COOKIE_STRATEGY_USED` guard on a board compiled without
|
|
70
|
+
* the cookie strategy, and unfixable by the consumer either way.
|
|
71
|
+
*
|
|
72
|
+
* Why not `.gitignore`? It is the most correct signal, but parsing it
|
|
73
|
+
* faithfully (nested files, negations, precedence, dir-vs-path anchors)
|
|
74
|
+
* needs a dependency the SDK will not take, and shelling out to
|
|
75
|
+
* `git check-ignore` assumes both a git binary and a git working tree —
|
|
76
|
+
* neither holds for platform-built tenant projects. The pattern list
|
|
77
|
+
* plus the banner heuristic covers the generators this supported projects actually
|
|
78
|
+
* runs without either assumption.
|
|
79
|
+
*/
|
|
80
|
+
|
|
81
|
+
type CookieSourceFile = {
|
|
82
|
+
path: string;
|
|
83
|
+
contents: string | Uint8Array;
|
|
84
|
+
};
|
|
85
|
+
/** Scan an immutable source snapshot with the same rules as Doctor's file scan. */
|
|
86
|
+
declare function checkCookieCodecConformanceFiles(files: readonly CookieSourceFile[]): CheckResult[];
|
|
87
|
+
|
|
88
|
+
export { type CheckResult, type CheckStatus, type DoctorEnv, type DoctorRun, type DoctorSummary, type RunDoctorOptions, checkCookieCodecConformanceFiles, runDoctor };
|
package/dist/doctor.js
CHANGED
|
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/doctor/index.ts
|
|
21
21
|
var doctor_exports = {};
|
|
22
22
|
__export(doctor_exports, {
|
|
23
|
+
checkCookieCodecConformanceFiles: () => checkCookieCodecConformanceFiles,
|
|
23
24
|
runDoctor: () => runDoctor
|
|
24
25
|
});
|
|
25
26
|
module.exports = __toCommonJS(doctor_exports);
|
|
@@ -351,9 +352,16 @@ function truncate(line, max = 120) {
|
|
|
351
352
|
const t = line.trim();
|
|
352
353
|
return t.length > max ? `${t.slice(0, max)}\u2026` : t;
|
|
353
354
|
}
|
|
354
|
-
function
|
|
355
|
-
|
|
356
|
-
|
|
355
|
+
function isAppSourcePath(path) {
|
|
356
|
+
if (!path.startsWith("src/")) return false;
|
|
357
|
+
const parts = path.split("/");
|
|
358
|
+
const name = parts.at(-1);
|
|
359
|
+
return parts.slice(1, -1).every(
|
|
360
|
+
(part) => !part.startsWith(".") && part !== "node_modules" && !GENERATED_DIRS.has(part)
|
|
361
|
+
) && !name.startsWith(".") && SOURCE_EXT2.test(name) && !GENERATED_FILE.test(name);
|
|
362
|
+
}
|
|
363
|
+
function checkCookieSourceText(files, hasSource, unreadable) {
|
|
364
|
+
if (!hasSource) {
|
|
357
365
|
return [
|
|
358
366
|
COOKIE(
|
|
359
367
|
"skip",
|
|
@@ -361,33 +369,61 @@ function checkCookieCodecConformance(projectRoot) {
|
|
|
361
369
|
)
|
|
362
370
|
];
|
|
363
371
|
}
|
|
364
|
-
const files = [];
|
|
365
|
-
walkSourceFiles(srcDir, files);
|
|
366
372
|
const findings = [];
|
|
367
|
-
for (const
|
|
368
|
-
const rel = (0, import_node_path3.relative)(projectRoot, file).split("\\").join("/");
|
|
369
|
-
let text;
|
|
370
|
-
try {
|
|
371
|
-
text = (0, import_node_fs3.readFileSync)(file, "utf8");
|
|
372
|
-
} catch {
|
|
373
|
-
continue;
|
|
374
|
-
}
|
|
373
|
+
for (const { path, text } of files) {
|
|
375
374
|
if (hasGeneratedBanner(text)) continue;
|
|
376
375
|
const lines = text.split(/\r?\n/);
|
|
377
376
|
for (let i = 0; i < lines.length; i += 1) {
|
|
378
377
|
if (!isOffendingSink(lines, i)) continue;
|
|
379
|
-
findings.push(`${
|
|
378
|
+
findings.push(`${path}:${i + 1} \u2014 ${truncate(lines[i])}`);
|
|
380
379
|
}
|
|
381
380
|
}
|
|
382
|
-
if (findings.length
|
|
383
|
-
return [
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
381
|
+
if (findings.length > 0) {
|
|
382
|
+
return [COOKIE("fail", `${findings.join("; ")}; ${REMEDIATION}`)];
|
|
383
|
+
}
|
|
384
|
+
if (unreadable) {
|
|
385
|
+
return [COOKIE("skip", "one or more source files could not be read")];
|
|
386
|
+
}
|
|
387
|
+
return [
|
|
388
|
+
COOKIE(
|
|
389
|
+
"pass",
|
|
390
|
+
"no domain-scoped Set-Cookie or document.cookie writes in app-authored src/ (generated output skipped)"
|
|
391
|
+
)
|
|
392
|
+
];
|
|
393
|
+
}
|
|
394
|
+
function checkCookieCodecConformanceFiles(files) {
|
|
395
|
+
const hasSource = files.some((file) => file.path.startsWith("src/"));
|
|
396
|
+
const textFiles = [];
|
|
397
|
+
let unreadable = false;
|
|
398
|
+
for (const file of files) {
|
|
399
|
+
if (!isAppSourcePath(file.path)) continue;
|
|
400
|
+
try {
|
|
401
|
+
textFiles.push({
|
|
402
|
+
path: file.path,
|
|
403
|
+
text: typeof file.contents === "string" ? file.contents : new TextDecoder("utf-8", { fatal: true }).decode(file.contents)
|
|
404
|
+
});
|
|
405
|
+
} catch {
|
|
406
|
+
unreadable = true;
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
return checkCookieSourceText(textFiles, hasSource, unreadable);
|
|
410
|
+
}
|
|
411
|
+
function checkCookieCodecConformance(projectRoot) {
|
|
412
|
+
const srcDir = (0, import_node_path3.join)(projectRoot, "src");
|
|
413
|
+
if (!(0, import_node_fs3.existsSync)(srcDir)) return checkCookieSourceText([], false, false);
|
|
414
|
+
const files = [];
|
|
415
|
+
walkSourceFiles(srcDir, files);
|
|
416
|
+
const textFiles = [];
|
|
417
|
+
let unreadable = false;
|
|
418
|
+
for (const file of files) {
|
|
419
|
+
const rel = (0, import_node_path3.relative)(projectRoot, file).split("\\").join("/");
|
|
420
|
+
try {
|
|
421
|
+
textFiles.push({ path: rel, text: (0, import_node_fs3.readFileSync)(file, "utf8") });
|
|
422
|
+
} catch {
|
|
423
|
+
unreadable = true;
|
|
424
|
+
}
|
|
389
425
|
}
|
|
390
|
-
return
|
|
426
|
+
return checkCookieSourceText(textFiles, true, unreadable);
|
|
391
427
|
}
|
|
392
428
|
|
|
393
429
|
// src/doctor/probe.ts
|
|
@@ -8841,5 +8877,6 @@ async function runDoctor(options) {
|
|
|
8841
8877
|
}
|
|
8842
8878
|
// Annotate the CommonJS export names for ESM import in node:
|
|
8843
8879
|
0 && (module.exports = {
|
|
8880
|
+
checkCookieCodecConformanceFiles,
|
|
8844
8881
|
runDoctor
|
|
8845
8882
|
});
|
package/dist/doctor.mjs
CHANGED
|
@@ -321,9 +321,16 @@ function truncate(line, max = 120) {
|
|
|
321
321
|
const t = line.trim();
|
|
322
322
|
return t.length > max ? `${t.slice(0, max)}\u2026` : t;
|
|
323
323
|
}
|
|
324
|
-
function
|
|
325
|
-
|
|
326
|
-
|
|
324
|
+
function isAppSourcePath(path) {
|
|
325
|
+
if (!path.startsWith("src/")) return false;
|
|
326
|
+
const parts = path.split("/");
|
|
327
|
+
const name = parts.at(-1);
|
|
328
|
+
return parts.slice(1, -1).every(
|
|
329
|
+
(part) => !part.startsWith(".") && part !== "node_modules" && !GENERATED_DIRS.has(part)
|
|
330
|
+
) && !name.startsWith(".") && SOURCE_EXT2.test(name) && !GENERATED_FILE.test(name);
|
|
331
|
+
}
|
|
332
|
+
function checkCookieSourceText(files, hasSource, unreadable) {
|
|
333
|
+
if (!hasSource) {
|
|
327
334
|
return [
|
|
328
335
|
COOKIE(
|
|
329
336
|
"skip",
|
|
@@ -331,33 +338,61 @@ function checkCookieCodecConformance(projectRoot) {
|
|
|
331
338
|
)
|
|
332
339
|
];
|
|
333
340
|
}
|
|
334
|
-
const files = [];
|
|
335
|
-
walkSourceFiles(srcDir, files);
|
|
336
341
|
const findings = [];
|
|
337
|
-
for (const
|
|
338
|
-
const rel = relative2(projectRoot, file).split("\\").join("/");
|
|
339
|
-
let text;
|
|
340
|
-
try {
|
|
341
|
-
text = readFileSync3(file, "utf8");
|
|
342
|
-
} catch {
|
|
343
|
-
continue;
|
|
344
|
-
}
|
|
342
|
+
for (const { path, text } of files) {
|
|
345
343
|
if (hasGeneratedBanner(text)) continue;
|
|
346
344
|
const lines = text.split(/\r?\n/);
|
|
347
345
|
for (let i = 0; i < lines.length; i += 1) {
|
|
348
346
|
if (!isOffendingSink(lines, i)) continue;
|
|
349
|
-
findings.push(`${
|
|
347
|
+
findings.push(`${path}:${i + 1} \u2014 ${truncate(lines[i])}`);
|
|
350
348
|
}
|
|
351
349
|
}
|
|
352
|
-
if (findings.length
|
|
353
|
-
return [
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
350
|
+
if (findings.length > 0) {
|
|
351
|
+
return [COOKIE("fail", `${findings.join("; ")}; ${REMEDIATION}`)];
|
|
352
|
+
}
|
|
353
|
+
if (unreadable) {
|
|
354
|
+
return [COOKIE("skip", "one or more source files could not be read")];
|
|
355
|
+
}
|
|
356
|
+
return [
|
|
357
|
+
COOKIE(
|
|
358
|
+
"pass",
|
|
359
|
+
"no domain-scoped Set-Cookie or document.cookie writes in app-authored src/ (generated output skipped)"
|
|
360
|
+
)
|
|
361
|
+
];
|
|
362
|
+
}
|
|
363
|
+
function checkCookieCodecConformanceFiles(files) {
|
|
364
|
+
const hasSource = files.some((file) => file.path.startsWith("src/"));
|
|
365
|
+
const textFiles = [];
|
|
366
|
+
let unreadable = false;
|
|
367
|
+
for (const file of files) {
|
|
368
|
+
if (!isAppSourcePath(file.path)) continue;
|
|
369
|
+
try {
|
|
370
|
+
textFiles.push({
|
|
371
|
+
path: file.path,
|
|
372
|
+
text: typeof file.contents === "string" ? file.contents : new TextDecoder("utf-8", { fatal: true }).decode(file.contents)
|
|
373
|
+
});
|
|
374
|
+
} catch {
|
|
375
|
+
unreadable = true;
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
return checkCookieSourceText(textFiles, hasSource, unreadable);
|
|
379
|
+
}
|
|
380
|
+
function checkCookieCodecConformance(projectRoot) {
|
|
381
|
+
const srcDir = join2(projectRoot, "src");
|
|
382
|
+
if (!existsSync2(srcDir)) return checkCookieSourceText([], false, false);
|
|
383
|
+
const files = [];
|
|
384
|
+
walkSourceFiles(srcDir, files);
|
|
385
|
+
const textFiles = [];
|
|
386
|
+
let unreadable = false;
|
|
387
|
+
for (const file of files) {
|
|
388
|
+
const rel = relative2(projectRoot, file).split("\\").join("/");
|
|
389
|
+
try {
|
|
390
|
+
textFiles.push({ path: rel, text: readFileSync3(file, "utf8") });
|
|
391
|
+
} catch {
|
|
392
|
+
unreadable = true;
|
|
393
|
+
}
|
|
359
394
|
}
|
|
360
|
-
return
|
|
395
|
+
return checkCookieSourceText(textFiles, true, unreadable);
|
|
361
396
|
}
|
|
362
397
|
|
|
363
398
|
// src/doctor/probe.ts
|
|
@@ -8810,5 +8845,6 @@ async function runDoctor(options) {
|
|
|
8810
8845
|
return { results, summary: summarize(results) };
|
|
8811
8846
|
}
|
|
8812
8847
|
export {
|
|
8848
|
+
checkCookieCodecConformanceFiles,
|
|
8813
8849
|
runDoctor
|
|
8814
8850
|
};
|
package/dist/filters.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { J as JobSort, E as EmploymentType, R as RemoteOption, S as Seniority } from './jobs-
|
|
2
|
-
import './_spec-
|
|
1
|
+
import { J as JobSort, E as EmploymentType, R as RemoteOption, S as Seniority } from './jobs-Cg2d2oI4.mjs';
|
|
2
|
+
import './_spec-C4T68Nnr.mjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* `@cavuno/board/filters` — the canonical listing-filter vocabulary and URL
|
package/dist/filters.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { J as JobSort, E as EmploymentType, R as RemoteOption, S as Seniority } from './jobs-
|
|
2
|
-
import './_spec-
|
|
1
|
+
import { J as JobSort, E as EmploymentType, R as RemoteOption, S as Seniority } from './jobs-3Md7CCMl.js';
|
|
2
|
+
import './_spec-C4T68Nnr.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* `@cavuno/board/filters` — the canonical listing-filter vocabulary and URL
|
package/dist/format.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { C as CurrencyDisplay, F as FormattedSalaryRange, J as JobBreadcrumb, N as NumberNotation, S as SalaryTimeframeInput, a as SalaryTimeframeValue, b as buildJobBreadcrumbs, f as formatSalaryRange, c as formatSalaryStat, d as formatSalaryStatRange, n as normalizeWebsiteUrl } from './breadcrumbs-
|
|
2
|
-
import { C as CustomFieldDefinition } from './board-
|
|
3
|
-
import { C as CustomFieldValues } from './jobs-
|
|
4
|
-
import './_spec-
|
|
1
|
+
export { C as CurrencyDisplay, F as FormattedSalaryRange, J as JobBreadcrumb, N as NumberNotation, S as SalaryTimeframeInput, a as SalaryTimeframeValue, b as buildJobBreadcrumbs, f as formatSalaryRange, c as formatSalaryStat, d as formatSalaryStatRange, n as normalizeWebsiteUrl } from './breadcrumbs-f7KFSWnx.mjs';
|
|
2
|
+
import { C as CustomFieldDefinition } from './board-CRgQjnrn.mjs';
|
|
3
|
+
import { C as CustomFieldValues } from './jobs-Cg2d2oI4.mjs';
|
|
4
|
+
import './_spec-C4T68Nnr.mjs';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Date display helpers in the board language (required leading parameter,
|
package/dist/format.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { C as CurrencyDisplay, F as FormattedSalaryRange, J as JobBreadcrumb, N as NumberNotation, S as SalaryTimeframeInput, a as SalaryTimeframeValue, b as buildJobBreadcrumbs, f as formatSalaryRange, c as formatSalaryStat, d as formatSalaryStatRange, n as normalizeWebsiteUrl } from './breadcrumbs-
|
|
2
|
-
import { C as CustomFieldDefinition } from './board-
|
|
3
|
-
import { C as CustomFieldValues } from './jobs-
|
|
4
|
-
import './_spec-
|
|
1
|
+
export { C as CurrencyDisplay, F as FormattedSalaryRange, J as JobBreadcrumb, N as NumberNotation, S as SalaryTimeframeInput, a as SalaryTimeframeValue, b as buildJobBreadcrumbs, f as formatSalaryRange, c as formatSalaryStat, d as formatSalaryStatRange, n as normalizeWebsiteUrl } from './breadcrumbs-C_jNh4xd.js';
|
|
2
|
+
import { C as CustomFieldDefinition } from './board-2UfZ7fZk.js';
|
|
3
|
+
import { C as CustomFieldValues } from './jobs-3Md7CCMl.js';
|
|
4
|
+
import './_spec-C4T68Nnr.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Date display helpers in the board language (required leading parameter,
|
package/dist/index.d.mts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { S as Schemas, c as components } from './_spec-
|
|
2
|
-
import { F as FetchOptions, S as StorageMode, B as BoardRequest, A as Awaitable, L as Logger, a as BoardClient, b as SearchSuggestQuery } from './search-
|
|
3
|
-
export { c as ACCESS_TOKEN_KEY, d as BOARD_ACCESS_GRANT_KEY, C as CompanySuggestion, e as CustomStorage, M as MarketSuggestion, R as REFRESH_TOKEN_KEY, f as SearchSuggestType, g as SuggestResult, h as SuggestionItem, T as TermSuggestion } from './search-
|
|
4
|
-
import { c as CompaniesListQuery, d as CompanyListEnvelope, e as CompaniesSearchBody, f as CompanyJobsListQuery, g as CompanySimilarQuery, h as CompanyMarketsListQuery, i as SalaryDetailQuery } from './board-
|
|
5
|
-
export { B as BoardCustomEmploymentType, j as BoardFormBuiltinField, k as BoardFormField, l as BoardFormLayout, m as BoardFormLockReason, n as BoardJobFormField, o as BoardProfileFormField, p as BoardRoleSignIn, q as BoardSignInSsoConnection, a as CompanyCategorySalary, r as CompanyMarket, s as CompanyMarketRef, b as CompanySalary, t as CompanySalarySummary, C as CustomFieldDefinition, u as CustomFieldOption, v as CustomFieldType, L as LocationSalaryDetail, w as LocationSkillsIndex, x as LocationTitlesIndex, P as PublicBoard, y as PublicBoardAds, z as PublicBoardAnalytics, A as PublicBoardFeatures, D as PublicBoardJobForm, E as PublicBoardSignIn, F as PublicCompany, G as PublicCompanyDetail, H as PublicCompanyMembership, I as SalaryCompany, J as SalaryLocation, K as SalarySkill, M as SalaryTitle, N as SkillLocationSalary, O as SkillLocationsIndex, S as SkillSalaryDetail, Q as TitleLocationSalary, R as TitleLocationsIndex, T as TitleSalaryDetail } from './board-
|
|
6
|
-
export { B as BoardSeo } from './seo-
|
|
7
|
-
import { R as RemoteOption, E as EmploymentType, S as Seniority, a as CustomFieldFilter, O as ObjectReferenceFilter, L as ListEnvelope, b as JobCollectionChoiceQuery, c as JobsListQuery, d as JobCardListEnvelope, e as JobsSearchBody, f as JobCardSearchEnvelope, g as JobsSimilarQuery, h as SearchEnvelope } from './jobs-
|
|
8
|
-
export { i as CustomFieldValue, C as CustomFieldValues, j as CustomFilterValue, k as EducationRequirement, l as JobCatalogPagination, m as JobCollectionChoiceList, n as JobCollectionFieldDefinition, o as JobCompany, p as JobCustomEmploymentType, J as JobSort, q as OfficeLocation, r as OffsetPagination, P as PublicJob, s as PublicJobCard, t as RelatedSearch, u as RemotePermit, v as RemoteTimezone, w as ResolvedJobCollectionField, x as StorefrontPagination } from './jobs-
|
|
9
|
-
import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-
|
|
10
|
-
export { B as BlogAuthorEmbed, d as BlogTagEmbed, e as PublicBlogAdjacentPosts, f as PublicBlogAuthor, g as PublicBlogPost, P as PublicBlogPostSummary, h as PublicBlogTag } from './blog-
|
|
1
|
+
import { S as Schemas, c as components } from './_spec-C4T68Nnr.mjs';
|
|
2
|
+
import { F as FetchOptions, S as StorageMode, B as BoardRequest, A as Awaitable, L as Logger, a as BoardClient, b as SearchSuggestQuery } from './search-CyDzceiR.mjs';
|
|
3
|
+
export { c as ACCESS_TOKEN_KEY, d as BOARD_ACCESS_GRANT_KEY, C as CompanySuggestion, e as CustomStorage, M as MarketSuggestion, R as REFRESH_TOKEN_KEY, f as SearchSuggestType, g as SuggestResult, h as SuggestionItem, T as TermSuggestion } from './search-CyDzceiR.mjs';
|
|
4
|
+
import { c as CompaniesListQuery, d as CompanyListEnvelope, e as CompaniesSearchBody, f as CompanyJobsListQuery, g as CompanySimilarQuery, h as CompanyMarketsListQuery, i as SalaryDetailQuery } from './board-CRgQjnrn.mjs';
|
|
5
|
+
export { B as BoardCustomEmploymentType, j as BoardFormBuiltinField, k as BoardFormField, l as BoardFormLayout, m as BoardFormLockReason, n as BoardJobFormField, o as BoardProfileFormField, p as BoardRoleSignIn, q as BoardSignInSsoConnection, a as CompanyCategorySalary, r as CompanyMarket, s as CompanyMarketRef, b as CompanySalary, t as CompanySalarySummary, C as CustomFieldDefinition, u as CustomFieldOption, v as CustomFieldType, L as LocationSalaryDetail, w as LocationSkillsIndex, x as LocationTitlesIndex, P as PublicBoard, y as PublicBoardAds, z as PublicBoardAnalytics, A as PublicBoardFeatures, D as PublicBoardJobForm, E as PublicBoardSignIn, F as PublicCompany, G as PublicCompanyDetail, H as PublicCompanyMembership, I as SalaryCompany, J as SalaryLocation, K as SalarySkill, M as SalaryTitle, N as SkillLocationSalary, O as SkillLocationsIndex, S as SkillSalaryDetail, Q as TitleLocationSalary, R as TitleLocationsIndex, T as TitleSalaryDetail } from './board-CRgQjnrn.mjs';
|
|
6
|
+
export { B as BoardSeo } from './seo-DuWLAh1M.mjs';
|
|
7
|
+
import { R as RemoteOption, E as EmploymentType, S as Seniority, a as CustomFieldFilter, O as ObjectReferenceFilter, L as ListEnvelope, b as JobCollectionChoiceQuery, c as JobsListQuery, d as JobCardListEnvelope, e as JobsSearchBody, f as JobCardSearchEnvelope, g as JobsSimilarQuery, h as SearchEnvelope } from './jobs-Cg2d2oI4.mjs';
|
|
8
|
+
export { i as CustomFieldValue, C as CustomFieldValues, j as CustomFilterValue, k as EducationRequirement, l as JobCatalogPagination, m as JobCollectionChoiceList, n as JobCollectionFieldDefinition, o as JobCompany, p as JobCustomEmploymentType, J as JobSort, q as OfficeLocation, r as OffsetPagination, P as PublicJob, s as PublicJobCard, t as RelatedSearch, u as RemotePermit, v as RemoteTimezone, w as ResolvedJobCollectionField, x as StorefrontPagination } from './jobs-Cg2d2oI4.mjs';
|
|
9
|
+
import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-bQmqKnw2.mjs';
|
|
10
|
+
export { B as BlogAuthorEmbed, d as BlogTagEmbed, e as PublicBlogAdjacentPosts, f as PublicBlogAuthor, g as PublicBlogPost, P as PublicBlogPostSummary, h as PublicBlogTag } from './blog-bQmqKnw2.mjs';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Well-known `<domain>_<snake_reason>` codes the Board API sends, grouped by
|
|
@@ -202,7 +202,7 @@ declare function paginate<Q extends Record<string, unknown>, P extends PageShape
|
|
|
202
202
|
* constant because the package is platform-neutral and cannot read
|
|
203
203
|
* package.json at runtime.
|
|
204
204
|
*/
|
|
205
|
-
declare const SDK_VERSION = "4.
|
|
205
|
+
declare const SDK_VERSION = "4.36.0";
|
|
206
206
|
|
|
207
207
|
type SavedJob = Schemas['SavedJob'];
|
|
208
208
|
type SavedJobsListQuery = {
|
|
@@ -1195,7 +1195,9 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
1195
1195
|
client: BoardClient;
|
|
1196
1196
|
/**
|
|
1197
1197
|
* Board context — identity, brand (`logoUrl` + favicon `icons`), language,
|
|
1198
|
-
* features, analytics, and AdSense (`ads.enabled`, `ads.clientId`,
|
|
1198
|
+
* features, analytics, and AdSense (`ads.enabled`, `ads.clientId`, `ads.defaultSlotId`, and
|
|
1199
|
+
* `ads.googleConsentMessage`, which says whether EEA/UK/CH visitors get Google's consent
|
|
1200
|
+
* message instead of the board's cookie banner).
|
|
1199
1201
|
* Per-placement slot ids are not on this resource.
|
|
1200
1202
|
*
|
|
1201
1203
|
* @example
|
|
@@ -1259,6 +1261,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
1259
1261
|
enabled: boolean;
|
|
1260
1262
|
clientId: string | null;
|
|
1261
1263
|
defaultSlotId: string | null;
|
|
1264
|
+
googleConsentMessage: boolean;
|
|
1262
1265
|
};
|
|
1263
1266
|
customFields: {
|
|
1264
1267
|
job: components["schemas"]["CustomFieldDefinition"][];
|
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { S as Schemas, c as components } from './_spec-
|
|
2
|
-
import { F as FetchOptions, S as StorageMode, B as BoardRequest, A as Awaitable, L as Logger, a as BoardClient, b as SearchSuggestQuery } from './search-
|
|
3
|
-
export { c as ACCESS_TOKEN_KEY, d as BOARD_ACCESS_GRANT_KEY, C as CompanySuggestion, e as CustomStorage, M as MarketSuggestion, R as REFRESH_TOKEN_KEY, f as SearchSuggestType, g as SuggestResult, h as SuggestionItem, T as TermSuggestion } from './search-
|
|
4
|
-
import { c as CompaniesListQuery, d as CompanyListEnvelope, e as CompaniesSearchBody, f as CompanyJobsListQuery, g as CompanySimilarQuery, h as CompanyMarketsListQuery, i as SalaryDetailQuery } from './board-
|
|
5
|
-
export { B as BoardCustomEmploymentType, j as BoardFormBuiltinField, k as BoardFormField, l as BoardFormLayout, m as BoardFormLockReason, n as BoardJobFormField, o as BoardProfileFormField, p as BoardRoleSignIn, q as BoardSignInSsoConnection, a as CompanyCategorySalary, r as CompanyMarket, s as CompanyMarketRef, b as CompanySalary, t as CompanySalarySummary, C as CustomFieldDefinition, u as CustomFieldOption, v as CustomFieldType, L as LocationSalaryDetail, w as LocationSkillsIndex, x as LocationTitlesIndex, P as PublicBoard, y as PublicBoardAds, z as PublicBoardAnalytics, A as PublicBoardFeatures, D as PublicBoardJobForm, E as PublicBoardSignIn, F as PublicCompany, G as PublicCompanyDetail, H as PublicCompanyMembership, I as SalaryCompany, J as SalaryLocation, K as SalarySkill, M as SalaryTitle, N as SkillLocationSalary, O as SkillLocationsIndex, S as SkillSalaryDetail, Q as TitleLocationSalary, R as TitleLocationsIndex, T as TitleSalaryDetail } from './board-
|
|
6
|
-
export { B as BoardSeo } from './seo-
|
|
7
|
-
import { R as RemoteOption, E as EmploymentType, S as Seniority, a as CustomFieldFilter, O as ObjectReferenceFilter, L as ListEnvelope, b as JobCollectionChoiceQuery, c as JobsListQuery, d as JobCardListEnvelope, e as JobsSearchBody, f as JobCardSearchEnvelope, g as JobsSimilarQuery, h as SearchEnvelope } from './jobs-
|
|
8
|
-
export { i as CustomFieldValue, C as CustomFieldValues, j as CustomFilterValue, k as EducationRequirement, l as JobCatalogPagination, m as JobCollectionChoiceList, n as JobCollectionFieldDefinition, o as JobCompany, p as JobCustomEmploymentType, J as JobSort, q as OfficeLocation, r as OffsetPagination, P as PublicJob, s as PublicJobCard, t as RelatedSearch, u as RemotePermit, v as RemoteTimezone, w as ResolvedJobCollectionField, x as StorefrontPagination } from './jobs-
|
|
9
|
-
import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-
|
|
10
|
-
export { B as BlogAuthorEmbed, d as BlogTagEmbed, e as PublicBlogAdjacentPosts, f as PublicBlogAuthor, g as PublicBlogPost, P as PublicBlogPostSummary, h as PublicBlogTag } from './blog-
|
|
1
|
+
import { S as Schemas, c as components } from './_spec-C4T68Nnr.js';
|
|
2
|
+
import { F as FetchOptions, S as StorageMode, B as BoardRequest, A as Awaitable, L as Logger, a as BoardClient, b as SearchSuggestQuery } from './search-15gcqPyt.js';
|
|
3
|
+
export { c as ACCESS_TOKEN_KEY, d as BOARD_ACCESS_GRANT_KEY, C as CompanySuggestion, e as CustomStorage, M as MarketSuggestion, R as REFRESH_TOKEN_KEY, f as SearchSuggestType, g as SuggestResult, h as SuggestionItem, T as TermSuggestion } from './search-15gcqPyt.js';
|
|
4
|
+
import { c as CompaniesListQuery, d as CompanyListEnvelope, e as CompaniesSearchBody, f as CompanyJobsListQuery, g as CompanySimilarQuery, h as CompanyMarketsListQuery, i as SalaryDetailQuery } from './board-2UfZ7fZk.js';
|
|
5
|
+
export { B as BoardCustomEmploymentType, j as BoardFormBuiltinField, k as BoardFormField, l as BoardFormLayout, m as BoardFormLockReason, n as BoardJobFormField, o as BoardProfileFormField, p as BoardRoleSignIn, q as BoardSignInSsoConnection, a as CompanyCategorySalary, r as CompanyMarket, s as CompanyMarketRef, b as CompanySalary, t as CompanySalarySummary, C as CustomFieldDefinition, u as CustomFieldOption, v as CustomFieldType, L as LocationSalaryDetail, w as LocationSkillsIndex, x as LocationTitlesIndex, P as PublicBoard, y as PublicBoardAds, z as PublicBoardAnalytics, A as PublicBoardFeatures, D as PublicBoardJobForm, E as PublicBoardSignIn, F as PublicCompany, G as PublicCompanyDetail, H as PublicCompanyMembership, I as SalaryCompany, J as SalaryLocation, K as SalarySkill, M as SalaryTitle, N as SkillLocationSalary, O as SkillLocationsIndex, S as SkillSalaryDetail, Q as TitleLocationSalary, R as TitleLocationsIndex, T as TitleSalaryDetail } from './board-2UfZ7fZk.js';
|
|
6
|
+
export { B as BoardSeo } from './seo-CON8CLIF.js';
|
|
7
|
+
import { R as RemoteOption, E as EmploymentType, S as Seniority, a as CustomFieldFilter, O as ObjectReferenceFilter, L as ListEnvelope, b as JobCollectionChoiceQuery, c as JobsListQuery, d as JobCardListEnvelope, e as JobsSearchBody, f as JobCardSearchEnvelope, g as JobsSimilarQuery, h as SearchEnvelope } from './jobs-3Md7CCMl.js';
|
|
8
|
+
export { i as CustomFieldValue, C as CustomFieldValues, j as CustomFilterValue, k as EducationRequirement, l as JobCatalogPagination, m as JobCollectionChoiceList, n as JobCollectionFieldDefinition, o as JobCompany, p as JobCustomEmploymentType, J as JobSort, q as OfficeLocation, r as OffsetPagination, P as PublicJob, s as PublicJobCard, t as RelatedSearch, u as RemotePermit, v as RemoteTimezone, w as ResolvedJobCollectionField, x as StorefrontPagination } from './jobs-3Md7CCMl.js';
|
|
9
|
+
import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-_LtV-JaY.js';
|
|
10
|
+
export { B as BlogAuthorEmbed, d as BlogTagEmbed, e as PublicBlogAdjacentPosts, f as PublicBlogAuthor, g as PublicBlogPost, P as PublicBlogPostSummary, h as PublicBlogTag } from './blog-_LtV-JaY.js';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Well-known `<domain>_<snake_reason>` codes the Board API sends, grouped by
|
|
@@ -202,7 +202,7 @@ declare function paginate<Q extends Record<string, unknown>, P extends PageShape
|
|
|
202
202
|
* constant because the package is platform-neutral and cannot read
|
|
203
203
|
* package.json at runtime.
|
|
204
204
|
*/
|
|
205
|
-
declare const SDK_VERSION = "4.
|
|
205
|
+
declare const SDK_VERSION = "4.36.0";
|
|
206
206
|
|
|
207
207
|
type SavedJob = Schemas['SavedJob'];
|
|
208
208
|
type SavedJobsListQuery = {
|
|
@@ -1195,7 +1195,9 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
1195
1195
|
client: BoardClient;
|
|
1196
1196
|
/**
|
|
1197
1197
|
* Board context — identity, brand (`logoUrl` + favicon `icons`), language,
|
|
1198
|
-
* features, analytics, and AdSense (`ads.enabled`, `ads.clientId`,
|
|
1198
|
+
* features, analytics, and AdSense (`ads.enabled`, `ads.clientId`, `ads.defaultSlotId`, and
|
|
1199
|
+
* `ads.googleConsentMessage`, which says whether EEA/UK/CH visitors get Google's consent
|
|
1200
|
+
* message instead of the board's cookie banner).
|
|
1199
1201
|
* Per-placement slot ids are not on this resource.
|
|
1200
1202
|
*
|
|
1201
1203
|
* @example
|
|
@@ -1259,6 +1261,7 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
1259
1261
|
enabled: boolean;
|
|
1260
1262
|
clientId: string | null;
|
|
1261
1263
|
defaultSlotId: string | null;
|
|
1264
|
+
googleConsentMessage: boolean;
|
|
1262
1265
|
};
|
|
1263
1266
|
customFields: {
|
|
1264
1267
|
job: components["schemas"]["CustomFieldDefinition"][];
|
package/dist/index.js
CHANGED
|
@@ -403,7 +403,7 @@ async function clearSession(storage) {
|
|
|
403
403
|
}
|
|
404
404
|
|
|
405
405
|
// src/version.ts
|
|
406
|
-
var SDK_VERSION = "4.
|
|
406
|
+
var SDK_VERSION = "4.36.0";
|
|
407
407
|
|
|
408
408
|
// src/client.ts
|
|
409
409
|
function isRawBody(body) {
|
|
@@ -3924,7 +3924,9 @@ function createBoardClient(options) {
|
|
|
3924
3924
|
client,
|
|
3925
3925
|
/**
|
|
3926
3926
|
* Board context — identity, brand (`logoUrl` + favicon `icons`), language,
|
|
3927
|
-
* features, analytics, and AdSense (`ads.enabled`, `ads.clientId`,
|
|
3927
|
+
* features, analytics, and AdSense (`ads.enabled`, `ads.clientId`, `ads.defaultSlotId`, and
|
|
3928
|
+
* `ads.googleConsentMessage`, which says whether EEA/UK/CH visitors get Google's consent
|
|
3929
|
+
* message instead of the board's cookie banner).
|
|
3928
3930
|
* Per-placement slot ids are not on this resource.
|
|
3929
3931
|
*
|
|
3930
3932
|
* @example
|
package/dist/index.mjs
CHANGED
|
@@ -46,7 +46,7 @@ function toSearchParams(query) {
|
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
// src/version.ts
|
|
49
|
-
var SDK_VERSION = "4.
|
|
49
|
+
var SDK_VERSION = "4.36.0";
|
|
50
50
|
|
|
51
51
|
// src/client.ts
|
|
52
52
|
function isRawBody(body) {
|
|
@@ -3537,7 +3537,9 @@ function createBoardClient(options) {
|
|
|
3537
3537
|
client,
|
|
3538
3538
|
/**
|
|
3539
3539
|
* Board context — identity, brand (`logoUrl` + favicon `icons`), language,
|
|
3540
|
-
* features, analytics, and AdSense (`ads.enabled`, `ads.clientId`,
|
|
3540
|
+
* features, analytics, and AdSense (`ads.enabled`, `ads.clientId`, `ads.defaultSlotId`, and
|
|
3541
|
+
* `ads.googleConsentMessage`, which says whether EEA/UK/CH visitors get Google's consent
|
|
3542
|
+
* message instead of the board's cookie banner).
|
|
3541
3543
|
* Per-placement slot ids are not on this resource.
|
|
3542
3544
|
*
|
|
3543
3545
|
* @example
|
package/dist/seo-files.d.mts
CHANGED
package/dist/seo-files.d.ts
CHANGED
package/dist/seo.d.mts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { P as PublicBlogPostSummary, B as BlogAuthorEmbed } from './blog-
|
|
2
|
-
import { e as JsonLdObject } from './breadcrumbs-
|
|
3
|
-
export { A as ALL_COUNTRY_CODES, B as BreadcrumbItemInput, g as FaqItem, J as JobBreadcrumb, h as JsonLdBoard, N as NumberNotation, i as SENIORITY_ORDER, j as SalaryFaqEntry, k as SalaryJsonLdOptions, l as SalaryOccupationListOptions, b as buildJobBreadcrumbs, m as buildSalaryFaq, o as companyCategorySalaryJsonLd, p as companySalaryJsonLd, q as createBreadcrumbJsonLd, r as createJobPostingJsonLd, s as crossAxisSalaryJsonLd, t as faqJsonLd, c as formatSalaryStat, d as formatSalaryStatRange, u as itemListJsonLd, v as locationSalaryJsonLd, n as normalizeWebsiteUrl, w as skillSalaryJsonLd, x as sortBySeniority, y as titleSalaryJsonLd } from './breadcrumbs-
|
|
4
|
-
import './_spec-
|
|
5
|
-
import './board-
|
|
6
|
-
import './jobs-
|
|
1
|
+
import { P as PublicBlogPostSummary, B as BlogAuthorEmbed } from './blog-bQmqKnw2.mjs';
|
|
2
|
+
import { e as JsonLdObject } from './breadcrumbs-f7KFSWnx.mjs';
|
|
3
|
+
export { A as ALL_COUNTRY_CODES, B as BreadcrumbItemInput, g as FaqItem, J as JobBreadcrumb, h as JsonLdBoard, N as NumberNotation, i as SENIORITY_ORDER, j as SalaryFaqEntry, k as SalaryJsonLdOptions, l as SalaryOccupationListOptions, b as buildJobBreadcrumbs, m as buildSalaryFaq, o as companyCategorySalaryJsonLd, p as companySalaryJsonLd, q as createBreadcrumbJsonLd, r as createJobPostingJsonLd, s as crossAxisSalaryJsonLd, t as faqJsonLd, c as formatSalaryStat, d as formatSalaryStatRange, u as itemListJsonLd, v as locationSalaryJsonLd, n as normalizeWebsiteUrl, w as skillSalaryJsonLd, x as sortBySeniority, y as titleSalaryJsonLd } from './breadcrumbs-f7KFSWnx.mjs';
|
|
4
|
+
import './_spec-C4T68Nnr.mjs';
|
|
5
|
+
import './board-CRgQjnrn.mjs';
|
|
6
|
+
import './jobs-Cg2d2oI4.mjs';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Blog structured data on the `@cavuno/board` wire types, transcribed from
|
package/dist/seo.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { P as PublicBlogPostSummary, B as BlogAuthorEmbed } from './blog-
|
|
2
|
-
import { e as JsonLdObject } from './breadcrumbs-
|
|
3
|
-
export { A as ALL_COUNTRY_CODES, B as BreadcrumbItemInput, g as FaqItem, J as JobBreadcrumb, h as JsonLdBoard, N as NumberNotation, i as SENIORITY_ORDER, j as SalaryFaqEntry, k as SalaryJsonLdOptions, l as SalaryOccupationListOptions, b as buildJobBreadcrumbs, m as buildSalaryFaq, o as companyCategorySalaryJsonLd, p as companySalaryJsonLd, q as createBreadcrumbJsonLd, r as createJobPostingJsonLd, s as crossAxisSalaryJsonLd, t as faqJsonLd, c as formatSalaryStat, d as formatSalaryStatRange, u as itemListJsonLd, v as locationSalaryJsonLd, n as normalizeWebsiteUrl, w as skillSalaryJsonLd, x as sortBySeniority, y as titleSalaryJsonLd } from './breadcrumbs-
|
|
4
|
-
import './_spec-
|
|
5
|
-
import './board-
|
|
6
|
-
import './jobs-
|
|
1
|
+
import { P as PublicBlogPostSummary, B as BlogAuthorEmbed } from './blog-_LtV-JaY.js';
|
|
2
|
+
import { e as JsonLdObject } from './breadcrumbs-C_jNh4xd.js';
|
|
3
|
+
export { A as ALL_COUNTRY_CODES, B as BreadcrumbItemInput, g as FaqItem, J as JobBreadcrumb, h as JsonLdBoard, N as NumberNotation, i as SENIORITY_ORDER, j as SalaryFaqEntry, k as SalaryJsonLdOptions, l as SalaryOccupationListOptions, b as buildJobBreadcrumbs, m as buildSalaryFaq, o as companyCategorySalaryJsonLd, p as companySalaryJsonLd, q as createBreadcrumbJsonLd, r as createJobPostingJsonLd, s as crossAxisSalaryJsonLd, t as faqJsonLd, c as formatSalaryStat, d as formatSalaryStatRange, u as itemListJsonLd, v as locationSalaryJsonLd, n as normalizeWebsiteUrl, w as skillSalaryJsonLd, x as sortBySeniority, y as titleSalaryJsonLd } from './breadcrumbs-C_jNh4xd.js';
|
|
4
|
+
import './_spec-C4T68Nnr.js';
|
|
5
|
+
import './board-2UfZ7fZk.js';
|
|
6
|
+
import './jobs-3Md7CCMl.js';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Blog structured data on the `@cavuno/board` wire types, transcribed from
|
package/dist/server.d.mts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { BoardSdk } from './index.mjs';
|
|
2
|
-
import './_spec-
|
|
3
|
-
import './search-
|
|
4
|
-
import './board-
|
|
5
|
-
import './jobs-
|
|
6
|
-
import './seo-
|
|
7
|
-
import './blog-
|
|
2
|
+
import './_spec-C4T68Nnr.mjs';
|
|
3
|
+
import './search-CyDzceiR.mjs';
|
|
4
|
+
import './board-CRgQjnrn.mjs';
|
|
5
|
+
import './jobs-Cg2d2oI4.mjs';
|
|
6
|
+
import './seo-DuWLAh1M.mjs';
|
|
7
|
+
import './blog-bQmqKnw2.mjs';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Session cookie codec — pure (no framework imports, no node imports) so it
|