@dendelion/paper-camp 0.28.4 → 0.31.1
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/daemon-state.61FBbbsV.js +332 -0
- package/dist/chunks/daemon-state.61FBbbsV.js.map +1 -0
- package/dist/chunks/dev-port.DG-T8zNq.js +42 -0
- package/dist/chunks/dev-port.DG-T8zNq.js.map +1 -0
- package/dist/chunks/{daemon-state.CI9RArUn.js → phase-progress.CazP7K7B.js} +1602 -1801
- package/dist/chunks/phase-progress.CazP7K7B.js.map +1 -0
- package/dist/cli/index.js +9720 -7854
- package/dist/cli/index.js.map +1 -1
- package/dist/core/daemon-state/daemon-state.d.ts +26 -1
- package/dist/core/daemon-state/daemon-state.d.ts.map +1 -1
- package/dist/core/desk-discovery/evidence.d.ts +1 -0
- package/dist/core/desk-discovery/evidence.d.ts.map +1 -1
- package/dist/core/desk-discovery/toolbar-host.d.ts +9 -0
- package/dist/core/desk-discovery/toolbar-host.d.ts.map +1 -0
- package/dist/core/desk-discovery/toolbar-host.test.d.ts +2 -0
- package/dist/core/desk-discovery/toolbar-host.test.d.ts.map +1 -0
- package/dist/core/doctor/checks/structural.d.ts.map +1 -1
- package/dist/core/doctor/rules.d.ts +5 -0
- package/dist/core/doctor/rules.d.ts.map +1 -1
- package/dist/core/index.js +147 -133
- package/dist/core/index.js.map +1 -1
- package/dist/core/machine-registry/machine-registry.d.ts +14 -0
- package/dist/core/machine-registry/machine-registry.d.ts.map +1 -1
- package/dist/core/night-checks.d.ts +14 -0
- package/dist/core/night-checks.d.ts.map +1 -0
- package/dist/core/night-checks.test.d.ts +2 -0
- package/dist/core/night-checks.test.d.ts.map +1 -0
- package/dist/core/night-findings.d.ts +9 -0
- package/dist/core/night-findings.d.ts.map +1 -0
- package/dist/core/night-findings.test.d.ts +2 -0
- package/dist/core/night-findings.test.d.ts.map +1 -0
- package/dist/core/night-gate.d.ts +14 -0
- package/dist/core/night-gate.d.ts.map +1 -0
- package/dist/core/night-gate.test.d.ts +2 -0
- package/dist/core/night-gate.test.d.ts.map +1 -0
- package/dist/core/night-health.d.ts +21 -0
- package/dist/core/night-health.d.ts.map +1 -0
- package/dist/core/night-health.test.d.ts +2 -0
- package/dist/core/night-health.test.d.ts.map +1 -0
- package/dist/core/night-prompts.d.ts +16 -0
- package/dist/core/night-prompts.d.ts.map +1 -0
- package/dist/core/night-prompts.test.d.ts +2 -0
- package/dist/core/night-prompts.test.d.ts.map +1 -0
- package/dist/core/night-shift.d.ts +33 -0
- package/dist/core/night-shift.d.ts.map +1 -0
- package/dist/core/night-shift.test.d.ts +2 -0
- package/dist/core/night-shift.test.d.ts.map +1 -0
- package/dist/core/night-suggestions.d.ts +14 -0
- package/dist/core/night-suggestions.d.ts.map +1 -0
- package/dist/core/night-suggestions.test.d.ts +2 -0
- package/dist/core/night-suggestions.test.d.ts.map +1 -0
- package/dist/core/night-worktree.d.ts +7 -0
- package/dist/core/night-worktree.d.ts.map +1 -0
- package/dist/core/night-worktree.test.d.ts +2 -0
- package/dist/core/night-worktree.test.d.ts.map +1 -0
- package/dist/core/parse/schemas.d.ts +68 -0
- package/dist/core/parse/schemas.d.ts.map +1 -1
- package/dist/core/phase-run.d.ts +1 -1
- package/dist/core/phase-run.d.ts.map +1 -1
- package/dist/core/registry-version.d.ts +10 -0
- package/dist/core/registry-version.d.ts.map +1 -0
- package/dist/core/registry-version.test.d.ts +2 -0
- package/dist/core/registry-version.test.d.ts.map +1 -0
- package/dist/core/stats.d.ts.map +1 -1
- package/dist/core/update-token.d.ts +5 -0
- package/dist/core/update-token.d.ts.map +1 -0
- package/dist/core/update-token.test.d.ts +2 -0
- package/dist/core/update-token.test.d.ts.map +1 -0
- package/dist/toolbar/toolbar.js +1665 -1608
- package/dist/toolbar/toolbar.js.map +1 -1
- package/dist/types/index.d.ts +157 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +32 -12
- package/dist/types/index.js.map +1 -1
- package/dist/vite/daemon-target.d.ts +13 -0
- package/dist/vite/daemon-target.d.ts.map +1 -0
- package/dist/vite/daemon-target.test.d.ts +2 -0
- package/dist/vite/daemon-target.test.d.ts.map +1 -0
- package/dist/vite/index.d.ts +1 -1
- package/dist/vite/index.d.ts.map +1 -1
- package/dist/vite/index.js +40 -63
- package/dist/vite/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunks/daemon-state.CI9RArUn.js.map +0 -1
- package/dist/chunks/dev-port.BGjGddjm.js +0 -43
- package/dist/chunks/dev-port.BGjGddjm.js.map +0 -1
- package/dist/vite/proxy.d.ts +0 -10
- package/dist/vite/proxy.d.ts.map +0 -1
- package/dist/vite/proxy.test.d.ts +0 -2
- package/dist/vite/proxy.test.d.ts.map +0 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface DaemonTarget {
|
|
2
|
+
origin: string;
|
|
3
|
+
slug: string;
|
|
4
|
+
}
|
|
5
|
+
/** A root the registry doesn't know, or no daemon actually answering on the
|
|
6
|
+
* resolved port, both mean "toolbar off" — the caller can't tell them apart
|
|
7
|
+
* and doesn't need to, `undefined` covers both. `portOverride` stands in for
|
|
8
|
+
* a daemon started by hand, whose real port `daemon.json` may not reflect.
|
|
9
|
+
* The Vite root of a monorepo app, e.g. `apps/admin`, sits inside its
|
|
10
|
+
* registered project path rather than equalling it, so matching picks the
|
|
11
|
+
* longest containing path in case projects are nested. */
|
|
12
|
+
export declare function resolveDaemonTarget(root: string, portOverride?: number): Promise<DaemonTarget | undefined>;
|
|
13
|
+
//# sourceMappingURL=daemon-target.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daemon-target.d.ts","sourceRoot":"","sources":["../../src/vite/daemon-target.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAMD;;;;;;0DAM0D;AAC1D,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAYnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daemon-target.test.d.ts","sourceRoot":"","sources":["../../src/vite/daemon-target.test.ts"],"names":[],"mappings":""}
|
package/dist/vite/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Plugin } from 'vite';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const TOOLBAR_OFF_MESSAGE = "paper-camp: toolbar off \u2014 run `paper-camp start` and register this repo with `paper-camp init`";
|
|
3
3
|
export interface PaperCampToolbarOptions {
|
|
4
4
|
port?: number;
|
|
5
5
|
}
|
package/dist/vite/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vite/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vite/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,MAAM,EAAiB,MAAM,MAAM,CAAC;AAKrE,eAAO,MAAM,mBAAmB,wGACkE,CAAC;AAEnG,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,SAAS,CAAC,OAAO,GAAE,uBAA4B,GAAG,MAAM,CAoCvE;AAED,eAAe,SAAS,CAAC"}
|
package/dist/vite/index.js
CHANGED
|
@@ -1,75 +1,52 @@
|
|
|
1
|
-
import { r as
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { r as c } from "../chunks/dev-port.DG-T8zNq.js";
|
|
2
|
+
import { resolve as l, sep as u } from "node:path";
|
|
3
|
+
import { n as d, e as f, r as g, b as m } from "../chunks/daemon-state.61FBbbsV.js";
|
|
4
|
+
const h = "paper-camp-toolbar-script", R = "data-route";
|
|
5
|
+
function T(a, t) {
|
|
6
|
+
return t === a || t.startsWith(a + u);
|
|
6
7
|
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
async function b(a, t) {
|
|
9
|
+
var e;
|
|
10
|
+
const o = await d(f()), r = l(a), s = o.projects.filter((n) => T(n.path, r)).sort((n, p) => p.path.length - n.path.length)[0];
|
|
11
|
+
if (!s) return;
|
|
12
|
+
const i = t ?? ((e = await g(m())) == null ? void 0 : e.port);
|
|
13
|
+
if (i !== void 0)
|
|
14
|
+
return { origin: `http://localhost:${i}`, slug: s.slug };
|
|
10
15
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
host: n,
|
|
15
|
-
port: c,
|
|
16
|
-
path: t.url ?? "/",
|
|
17
|
-
method: t.method,
|
|
18
|
-
headers: { ...t.headers, host: `${n}:${c}`, "accept-encoding": "identity" }
|
|
19
|
-
},
|
|
20
|
-
(a) => {
|
|
21
|
-
const i = (a.headers["content-type"] ?? "").includes("text/html");
|
|
22
|
-
if (r && i) {
|
|
23
|
-
const u = [];
|
|
24
|
-
a.on("data", (d) => u.push(d)), a.on("end", () => {
|
|
25
|
-
const d = w(Buffer.concat(u).toString("utf-8"), r), { "transfer-encoding": s, ...p } = a.headers;
|
|
26
|
-
o.writeHead(a.statusCode ?? 502, {
|
|
27
|
-
...p,
|
|
28
|
-
"content-length": String(Buffer.byteLength(d))
|
|
29
|
-
}), o.end(d);
|
|
30
|
-
});
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
o.writeHead(a.statusCode ?? 502, a.headers), a.pipe(o);
|
|
34
|
-
}
|
|
35
|
-
);
|
|
36
|
-
e.on("error", () => {
|
|
37
|
-
o.statusCode = 502, o.end(`paper-camp server is not reachable on port ${c} — run \`paper-camp dev\`.`);
|
|
38
|
-
}), t.pipe(e);
|
|
39
|
-
}
|
|
40
|
-
const l = "/paper-camp";
|
|
41
|
-
function A(t = {}) {
|
|
42
|
-
let o = t.port, c = !0, n = l;
|
|
16
|
+
const y = "paper-camp: toolbar off — run `paper-camp start` and register this repo with `paper-camp init`";
|
|
17
|
+
function S(a = {}) {
|
|
18
|
+
let t;
|
|
43
19
|
return {
|
|
44
20
|
name: "paper-camp-toolbar",
|
|
45
21
|
apply: "serve",
|
|
46
|
-
async configureServer(
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
22
|
+
async configureServer(o) {
|
|
23
|
+
const r = await c(o.config.root), s = o.config.mode === "production";
|
|
24
|
+
if (!(((r == null ? void 0 : r.enabled) ?? !0) && (!s || (r == null ? void 0 : r.allowProduction) === !0))) return;
|
|
25
|
+
const e = await b(o.config.root, a.port);
|
|
26
|
+
if (!e) {
|
|
27
|
+
console.log(y);
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const n = `/p/${e.slug}`;
|
|
31
|
+
t = {
|
|
32
|
+
tag: "script",
|
|
33
|
+
attrs: {
|
|
34
|
+
type: "module",
|
|
35
|
+
id: h,
|
|
36
|
+
[R]: n,
|
|
37
|
+
src: `${e.origin}${n}/toolbar.js`
|
|
38
|
+
},
|
|
39
|
+
injectTo: "body"
|
|
40
|
+
};
|
|
61
41
|
},
|
|
62
|
-
transformIndexHtml(
|
|
63
|
-
return
|
|
64
|
-
"</body>",
|
|
65
|
-
`<script type="module" id="${$}" ${g}="${n}" src="${n}/toolbar.js"><\/script></body>`
|
|
66
|
-
) : r;
|
|
42
|
+
transformIndexHtml(o) {
|
|
43
|
+
return t ? { html: o, tags: [t] } : o;
|
|
67
44
|
}
|
|
68
45
|
};
|
|
69
46
|
}
|
|
70
47
|
export {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
48
|
+
y as TOOLBAR_OFF_MESSAGE,
|
|
49
|
+
S as default,
|
|
50
|
+
S as paperCamp
|
|
74
51
|
};
|
|
75
52
|
//# sourceMappingURL=index.js.map
|
package/dist/vite/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/toolbar/route-attribute.ts","../../src/
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/toolbar/route-attribute.ts","../../src/vite/daemon-target.ts","../../src/vite/index.ts"],"sourcesContent":["export const TOOLBAR_SCRIPT_ID = 'paper-camp-toolbar-script';\nexport const ROUTE_ATTRIBUTE = 'data-route';\n\nexport function scriptOrigin(script: { src: string } | null | undefined): string | undefined {\n if (!script?.src) return undefined;\n try {\n return new URL(script.src).origin;\n } catch {\n return undefined;\n }\n}\n","import { resolve, sep } from 'node:path';\nimport { daemonStatePath, readRunningDaemonState } from '../core/daemon-state';\nimport { defaultRegistryPath, loadRegistry } from '../core/machine-registry';\n\nexport interface DaemonTarget {\n origin: string;\n slug: string;\n}\n\nfunction containsRoot(projectPath: string, root: string): boolean {\n return root === projectPath || root.startsWith(projectPath + sep);\n}\n\n/** A root the registry doesn't know, or no daemon actually answering on the\n * resolved port, both mean \"toolbar off\" — the caller can't tell them apart\n * and doesn't need to, `undefined` covers both. `portOverride` stands in for\n * a daemon started by hand, whose real port `daemon.json` may not reflect.\n * The Vite root of a monorepo app, e.g. `apps/admin`, sits inside its\n * registered project path rather than equalling it, so matching picks the\n * longest containing path in case projects are nested. */\nexport async function resolveDaemonTarget(\n root: string,\n portOverride?: number,\n): Promise<DaemonTarget | undefined> {\n const registry = await loadRegistry(defaultRegistryPath());\n const resolvedRoot = resolve(root);\n const project = registry.projects\n .filter((candidate) => containsRoot(candidate.path, resolvedRoot))\n .sort((a, b) => b.path.length - a.path.length)[0];\n if (!project) return undefined;\n\n const port = portOverride ?? (await readRunningDaemonState(daemonStatePath()))?.port;\n if (port === undefined) return undefined;\n\n return { origin: `http://localhost:${port}`, slug: project.slug };\n}\n","import type { HtmlTagDescriptor, Plugin, ViteDevServer } from 'vite';\nimport { readConfigIntegration } from '../cli/dev-port';\nimport { ROUTE_ATTRIBUTE, TOOLBAR_SCRIPT_ID } from '../toolbar/route-attribute';\nimport { resolveDaemonTarget } from './daemon-target';\n\nexport const TOOLBAR_OFF_MESSAGE =\n 'paper-camp: toolbar off — run `paper-camp start` and register this repo with `paper-camp init`';\n\nexport interface PaperCampToolbarOptions {\n port?: number;\n}\n\nexport function paperCamp(options: PaperCampToolbarOptions = {}): Plugin {\n let scriptTag: HtmlTagDescriptor | undefined;\n\n return {\n name: 'paper-camp-toolbar',\n apply: 'serve',\n async configureServer(server: ViteDevServer) {\n const integration = await readConfigIntegration(server.config.root);\n const isProduction = server.config.mode === 'production';\n const enabled =\n (integration?.enabled ?? true) && (!isProduction || integration?.allowProduction === true);\n if (!enabled) return;\n\n const target = await resolveDaemonTarget(server.config.root, options.port);\n if (!target) {\n console.log(TOOLBAR_OFF_MESSAGE);\n return;\n }\n\n const mount = `/p/${target.slug}`;\n scriptTag = {\n tag: 'script',\n attrs: {\n type: 'module',\n id: TOOLBAR_SCRIPT_ID,\n [ROUTE_ATTRIBUTE]: mount,\n src: `${target.origin}${mount}/toolbar.js`,\n },\n injectTo: 'body',\n };\n },\n transformIndexHtml(html: string) {\n if (!scriptTag) return html;\n return { html, tags: [scriptTag] };\n },\n };\n}\n\nexport default paperCamp;\n"],"names":["TOOLBAR_SCRIPT_ID","ROUTE_ATTRIBUTE","containsRoot","projectPath","root","sep","resolveDaemonTarget","portOverride","registry","loadRegistry","defaultRegistryPath","resolvedRoot","resolve","project","candidate","a","b","port","_a","readRunningDaemonState","daemonStatePath","TOOLBAR_OFF_MESSAGE","paperCamp","options","scriptTag","server","integration","readConfigIntegration","isProduction","target","mount","html"],"mappings":";;;AAAO,MAAMA,IAAoB,6BACpBC,IAAkB;ACQ/B,SAASC,EAAaC,GAAqBC,GAAuB;AAChE,SAAOA,MAASD,KAAeC,EAAK,WAAWD,IAAcE,CAAG;AAClE;AASA,eAAsBC,EACpBF,GACAG,GACmC;;AACnC,QAAMC,IAAW,MAAMC,EAAaC,GAAqB,GACnDC,IAAeC,EAAQR,CAAI,GAC3BS,IAAUL,EAAS,SACtB,OAAO,CAACM,MAAcZ,EAAaY,EAAU,MAAMH,CAAY,CAAC,EAChE,KAAK,CAACI,GAAGC,MAAMA,EAAE,KAAK,SAASD,EAAE,KAAK,MAAM,EAAE,CAAC;AAClD,MAAI,CAACF,EAAS;AAEd,QAAMI,IAAOV,OAAiBW,IAAA,MAAMC,EAAuBC,EAAA,CAAiB,MAA9C,gBAAAF,EAAkD;AAChF,MAAID,MAAS;AAEb,WAAO,EAAE,QAAQ,oBAAoBA,CAAI,IAAI,MAAMJ,EAAQ,KAAA;AAC7D;AC9BO,MAAMQ,IACX;AAMK,SAASC,EAAUC,IAAmC,IAAY;AACvE,MAAIC;AAEJ,SAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM,gBAAgBC,GAAuB;AAC3C,YAAMC,IAAc,MAAMC,EAAsBF,EAAO,OAAO,IAAI,GAC5DG,IAAeH,EAAO,OAAO,SAAS;AAG5C,UAAI,IADDC,KAAA,gBAAAA,EAAa,YAAW,QAAU,CAACE,MAAgBF,KAAA,gBAAAA,EAAa,qBAAoB,KACzE;AAEd,YAAMG,IAAS,MAAMvB,EAAoBmB,EAAO,OAAO,MAAMF,EAAQ,IAAI;AACzE,UAAI,CAACM,GAAQ;AACX,gBAAQ,IAAIR,CAAmB;AAC/B;AAAA,MACF;AAEA,YAAMS,IAAQ,MAAMD,EAAO,IAAI;AAC/B,MAAAL,IAAY;AAAA,QACV,KAAK;AAAA,QACL,OAAO;AAAA,UACL,MAAM;AAAA,UACN,IAAIxB;AAAA,UACJ,CAACC,CAAe,GAAG6B;AAAA,UACnB,KAAK,GAAGD,EAAO,MAAM,GAAGC,CAAK;AAAA,QAAA;AAAA,QAE/B,UAAU;AAAA,MAAA;AAAA,IAEd;AAAA,IACA,mBAAmBC,GAAc;AAC/B,aAAKP,IACE,EAAE,MAAAO,GAAM,MAAM,CAACP,CAAS,EAAA,IADRO;AAAA,IAEzB;AAAA,EAAA;AAEJ;"}
|