murasaki 0.2.0 → 0.2.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/bin/murasaki.js +8 -3
- package/dist/cli/colors.d.ts +13 -0
- package/dist/cli/colors.d.ts.map +1 -0
- package/dist/cli/colors.js +14 -0
- package/dist/cli/colors.js.map +1 -0
- package/dist/cli/log.d.ts +14 -0
- package/dist/cli/log.d.ts.map +1 -0
- package/dist/cli/log.js +25 -0
- package/dist/cli/log.js.map +1 -0
- package/dist/components/Link.d.ts +9 -0
- package/dist/components/Link.d.ts.map +1 -0
- package/dist/components/Link.js +15 -0
- package/dist/components/Link.js.map +1 -0
- package/dist/dev.d.ts +2 -0
- package/dist/dev.d.ts.map +1 -0
- package/dist/dev.js +41 -0
- package/dist/dev.js.map +1 -0
- package/dist/env.d.ts +15 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +43 -0
- package/dist/env.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/jsx/index.d.ts +3 -0
- package/dist/jsx/index.d.ts.map +1 -0
- package/dist/jsx/index.js +3 -0
- package/dist/jsx/index.js.map +1 -0
- package/dist/jsx/jsx-dev-runtime.d.ts +2 -0
- package/dist/jsx/jsx-dev-runtime.d.ts.map +1 -0
- package/dist/jsx/jsx-dev-runtime.js +7 -0
- package/dist/jsx/jsx-dev-runtime.js.map +1 -0
- package/dist/jsx/jsx-runtime.d.ts +2 -0
- package/dist/jsx/jsx-runtime.d.ts.map +1 -0
- package/{src/jsx/jsx-runtime.ts → dist/jsx/jsx-runtime.js} +4 -3
- package/dist/jsx/jsx-runtime.js.map +1 -0
- package/dist/jsx/runtime.d.ts +24 -0
- package/dist/jsx/runtime.d.ts.map +1 -0
- package/dist/jsx/runtime.js +273 -0
- package/dist/jsx/runtime.js.map +1 -0
- package/dist/jsx/types.d.ts +30 -0
- package/dist/jsx/types.d.ts.map +1 -0
- package/dist/jsx/types.js +3 -0
- package/dist/jsx/types.js.map +1 -0
- package/dist/runtime/hmr.d.ts +2 -0
- package/dist/runtime/hmr.d.ts.map +1 -0
- package/dist/runtime/hmr.js +28 -0
- package/dist/runtime/hmr.js.map +1 -0
- package/dist/runtime/render.d.ts +3 -0
- package/dist/runtime/render.d.ts.map +1 -0
- package/dist/runtime/render.js +208 -0
- package/dist/runtime/render.js.map +1 -0
- package/dist/runtime/routes.d.ts +10 -0
- package/dist/runtime/routes.d.ts.map +1 -0
- package/dist/runtime/routes.js +65 -0
- package/dist/runtime/routes.js.map +1 -0
- package/dist/runtime/shortcuts.d.ts +8 -0
- package/dist/runtime/shortcuts.d.ts.map +1 -0
- package/dist/runtime/shortcuts.js +29 -0
- package/dist/runtime/shortcuts.js.map +1 -0
- package/dist/runtime/window.d.ts +10 -0
- package/dist/runtime/window.d.ts.map +1 -0
- package/dist/runtime/window.js +93 -0
- package/dist/runtime/window.js.map +1 -0
- package/dist/types.d.ts +17 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/package.json +12 -10
- package/src/cli/colors.ts +0 -16
- package/src/cli/log.ts +0 -42
- package/src/components/Link.tsx +0 -25
- package/src/dev.tsx +0 -60
- package/src/env.ts +0 -48
- package/src/index.ts +0 -24
- package/src/jsx/index.ts +0 -21
- package/src/jsx/jsx-dev-runtime.ts +0 -6
- package/src/jsx/runtime.ts +0 -298
- package/src/jsx/types.ts +0 -36
- package/src/runtime/hmr.ts +0 -26
- package/src/runtime/render.tsx +0 -225
- package/src/runtime/routes.ts +0 -73
- package/src/runtime/shortcuts.ts +0 -31
- package/src/runtime/window.ts +0 -94
- package/src/types.ts +0 -22
package/bin/murasaki.js
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
// Murasaki CLI entry point.
|
|
3
3
|
// Usage: murasaki dev
|
|
4
4
|
|
|
5
|
-
import 'tsx/esm' // Register the TS+JSX ESM loader
|
|
5
|
+
import 'tsx/esm' // Register the TS+JSX ESM loader (for the user's src/)
|
|
6
|
+
import { existsSync } from 'node:fs'
|
|
6
7
|
import { dirname, resolve } from 'node:path'
|
|
7
8
|
import { fileURLToPath, pathToFileURL } from 'node:url'
|
|
8
9
|
|
|
@@ -11,8 +12,12 @@ const cmd = process.argv[2]
|
|
|
11
12
|
|
|
12
13
|
if (cmd === 'dev') {
|
|
13
14
|
process.env.MURASAKI_DEV = '1'
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
// Prefer the compiled dist (used in published npm package),
|
|
16
|
+
// fall back to src for in-repo workspace development.
|
|
17
|
+
const distPath = resolve(__dirname, '..', 'dist', 'dev.js')
|
|
18
|
+
const srcPath = resolve(__dirname, '..', 'src', 'dev.tsx')
|
|
19
|
+
const target = existsSync(distPath) ? distPath : srcPath
|
|
20
|
+
await import(pathToFileURL(target).href)
|
|
16
21
|
} else {
|
|
17
22
|
process.stdout.write(`
|
|
18
23
|
Usage:
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const BRIGHT = "\u001B[38;2;168;85;247m";
|
|
2
|
+
export declare const DEEP = "\u001B[38;2;91;33;182m";
|
|
3
|
+
export declare const CREAM = "\u001B[38;2;250;245;232m";
|
|
4
|
+
export declare const DARK = "\u001B[38;2;59;7;100m";
|
|
5
|
+
export declare const DIM = "\u001B[38;2;136;136;153m";
|
|
6
|
+
export declare const GREEN = "\u001B[38;2;76;175;80m";
|
|
7
|
+
export declare const RED = "\u001B[38;2;239;68;68m";
|
|
8
|
+
export declare const BOLD = "\u001B[1m";
|
|
9
|
+
export declare const RESET = "\u001B[0m";
|
|
10
|
+
export declare const noColor: boolean;
|
|
11
|
+
/** Wrap an ANSI escape; returns '' if colors are disabled. */
|
|
12
|
+
export declare const c: (code: string) => string;
|
|
13
|
+
//# sourceMappingURL=colors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/cli/colors.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,4BAA0B,CAAA;AAC7C,eAAO,MAAM,IAAI,2BAAyB,CAAA;AAC1C,eAAO,MAAM,KAAK,6BAA2B,CAAA;AAC7C,eAAO,MAAM,IAAI,0BAAwB,CAAA;AACzC,eAAO,MAAM,GAAG,6BAA2B,CAAA;AAC3C,eAAO,MAAM,KAAK,2BAAyB,CAAA;AAC3C,eAAO,MAAM,GAAG,2BAAyB,CAAA;AACzC,eAAO,MAAM,IAAI,cAAY,CAAA;AAC7B,eAAO,MAAM,KAAK,cAAY,CAAA;AAE9B,eAAO,MAAM,OAAO,SAAyD,CAAA;AAE7E,8DAA8D;AAC9D,eAAO,MAAM,CAAC,GAAI,MAAM,MAAM,KAAG,MAA+B,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// ANSI truecolor palette (Oomurasaki) + helper.
|
|
2
|
+
export const BRIGHT = '\x1b[38;2;168;85;247m';
|
|
3
|
+
export const DEEP = '\x1b[38;2;91;33;182m';
|
|
4
|
+
export const CREAM = '\x1b[38;2;250;245;232m';
|
|
5
|
+
export const DARK = '\x1b[38;2;59;7;100m';
|
|
6
|
+
export const DIM = '\x1b[38;2;136;136;153m';
|
|
7
|
+
export const GREEN = '\x1b[38;2;76;175;80m';
|
|
8
|
+
export const RED = '\x1b[38;2;239;68;68m';
|
|
9
|
+
export const BOLD = '\x1b[1m';
|
|
10
|
+
export const RESET = '\x1b[0m';
|
|
11
|
+
export const noColor = Boolean(process.env.NO_COLOR) || !process.stdout.isTTY;
|
|
12
|
+
/** Wrap an ANSI escape; returns '' if colors are disabled. */
|
|
13
|
+
export const c = (code) => (noColor ? '' : code);
|
|
14
|
+
//# sourceMappingURL=colors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/cli/colors.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAEhD,MAAM,CAAC,MAAM,MAAM,GAAG,uBAAuB,CAAA;AAC7C,MAAM,CAAC,MAAM,IAAI,GAAG,sBAAsB,CAAA;AAC1C,MAAM,CAAC,MAAM,KAAK,GAAG,wBAAwB,CAAA;AAC7C,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAA;AACzC,MAAM,CAAC,MAAM,GAAG,GAAG,wBAAwB,CAAA;AAC3C,MAAM,CAAC,MAAM,KAAK,GAAG,sBAAsB,CAAA;AAC3C,MAAM,CAAC,MAAM,GAAG,GAAG,sBAAsB,CAAA;AACzC,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAA;AAC7B,MAAM,CAAC,MAAM,KAAK,GAAG,SAAS,CAAA;AAE9B,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAA;AAE7E,8DAA8D;AAC9D,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare function printBanner(winTitle: string, winSize: {
|
|
2
|
+
width: number;
|
|
3
|
+
height: number;
|
|
4
|
+
}): void;
|
|
5
|
+
export declare function printShortcuts(): void;
|
|
6
|
+
export declare const printStarting: () => boolean;
|
|
7
|
+
export declare const printReady: (ms: number) => boolean;
|
|
8
|
+
export declare const printOpened: () => boolean;
|
|
9
|
+
export declare const printClosed: () => boolean;
|
|
10
|
+
export declare const printReloaded: (file: string) => boolean;
|
|
11
|
+
export declare const printBye: () => boolean;
|
|
12
|
+
export declare const printHint: (msg: string) => boolean;
|
|
13
|
+
export declare const printError: (msg: string) => boolean;
|
|
14
|
+
//# sourceMappingURL=log.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/cli/log.ts"],"names":[],"mappings":"AAOA,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,QAYvF;AAED,wBAAgB,cAAc,SAI7B;AAED,eAAO,MAAM,aAAa,eAAoD,CAAA;AAC9E,eAAO,MAAM,UAAU,GAAI,IAAI,MAAM,YAGlC,CAAA;AACH,eAAO,MAAM,WAAW,eAAkE,CAAA;AAC1F,eAAO,MAAM,WAAW,eAGrB,CAAA;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,YACyC,CAAA;AACnF,eAAO,MAAM,QAAQ,eAAiD,CAAA;AACtE,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,YAA2C,CAAA;AAChF,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,YAAqD,CAAA"}
|
package/dist/cli/log.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Banner + status output for the dev runner.
|
|
2
|
+
import { projectRoot, VERSION, WEBVIEW_ENGINE } from "../env.js";
|
|
3
|
+
import { BOLD, BRIGHT, c, DIM, GREEN, RED, RESET } from "./colors.js";
|
|
4
|
+
const out = (s) => process.stdout.write(s);
|
|
5
|
+
export function printBanner(winTitle, winSize) {
|
|
6
|
+
out('\n');
|
|
7
|
+
out(` ${c(BOLD)}${c(BRIGHT)}🦋 Murasaki${c(RESET)} ${c(DIM)}${VERSION}${c(RESET)}\n\n`);
|
|
8
|
+
out(` ${c(DIM)}-${c(RESET)} ${c(DIM)}Project ${c(RESET)}${projectRoot}\n`);
|
|
9
|
+
out(` ${c(DIM)}-${c(RESET)} ${c(DIM)}Window ${c(RESET)}${winTitle} ${c(DIM)}(${winSize.width}×${winSize.height})${c(RESET)}\n`);
|
|
10
|
+
out(` ${c(DIM)}-${c(RESET)} ${c(DIM)}Webview ${c(RESET)}${WEBVIEW_ENGINE}\n`);
|
|
11
|
+
out(` ${c(DIM)}-${c(RESET)} ${c(DIM)}Runtime ${c(RESET)}Node ${process.version}\n`);
|
|
12
|
+
out(` ${c(DIM)}-${c(RESET)} ${c(DIM)}Mode ${c(RESET)}development ${c(DIM)}(HMR active)${c(RESET)}\n\n`);
|
|
13
|
+
}
|
|
14
|
+
export function printShortcuts() {
|
|
15
|
+
out(` ${c(DIM)}Shortcuts ${c(RESET)}${c(BOLD)}o${c(RESET)} ${c(DIM)}open${c(RESET)} ${c(BOLD)}r${c(RESET)} ${c(DIM)}restart${c(RESET)} ${c(BOLD)}q${c(RESET)} ${c(DIM)}quit${c(RESET)}\n\n`);
|
|
16
|
+
}
|
|
17
|
+
export const printStarting = () => out(` ${c(DIM)}○${c(RESET)} Starting...\n`);
|
|
18
|
+
export const printReady = (ms) => out(` ${c(GREEN)}${c(BOLD)}✓${c(RESET)} ${c(BOLD)}Ready${c(RESET)} ${c(DIM)}in ${ms}ms${c(RESET)}\n`);
|
|
19
|
+
export const printOpened = () => out(` ${c(GREEN)}${c(BOLD)}✓${c(RESET)} Window opened\n`);
|
|
20
|
+
export const printClosed = () => out(` ${c(DIM)}○${c(RESET)} Window closed ${c(DIM)}— press ${c(RESET)}${c(BOLD)}o${c(RESET)}${c(DIM)} to re-open, ${c(RESET)}${c(BOLD)}q${c(RESET)}${c(DIM)} to quit${c(RESET)}\n`);
|
|
21
|
+
export const printReloaded = (file) => out(` ${c(BRIGHT)}${c(BOLD)}↻${c(RESET)} Reloaded ${c(DIM)}${file}${c(RESET)}\n`);
|
|
22
|
+
export const printBye = () => out(`\n ${c(DIM)}Bye 🦋${c(RESET)}\n\n`);
|
|
23
|
+
export const printHint = (msg) => out(` ${c(DIM)}· ${msg}${c(RESET)}\n`);
|
|
24
|
+
export const printError = (msg) => out(` ${c(RED)}${c(BOLD)}✗${c(RESET)} ${msg}\n`);
|
|
25
|
+
//# sourceMappingURL=log.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/cli/log.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Child } from '../jsx/types.ts';
|
|
2
|
+
export type LinkProps = {
|
|
3
|
+
href: string;
|
|
4
|
+
children?: Child;
|
|
5
|
+
className?: string;
|
|
6
|
+
[key: string]: unknown;
|
|
7
|
+
};
|
|
8
|
+
export declare function Link({ href, children, ...rest }: LinkProps): import("../jsx/runtime.ts").JSXNode;
|
|
9
|
+
//# sourceMappingURL=Link.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../src/components/Link.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB,CAAA;AAED,wBAAgB,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,SAAS,uCAO1D"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// <Link href="/about">About</Link>
|
|
2
|
+
//
|
|
3
|
+
// Emits a plain <a> tagged with data-murasaki-link. The dev runner injects
|
|
4
|
+
// a tiny script that intercepts clicks on these and switches the visible
|
|
5
|
+
// route block in place — no full reload, no flash.
|
|
6
|
+
import { jsx } from "../jsx/runtime.js";
|
|
7
|
+
export function Link({ href, children, ...rest }) {
|
|
8
|
+
return jsx('a', {
|
|
9
|
+
href: `#${href}`,
|
|
10
|
+
'data-murasaki-link': href,
|
|
11
|
+
...rest,
|
|
12
|
+
children,
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=Link.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Link.js","sourceRoot":"","sources":["../../src/components/Link.tsx"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,EAAE;AACF,2EAA2E;AAC3E,yEAAyE;AACzE,mDAAmD;AAEnD,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAWvC,MAAM,UAAU,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAa;IACzD,OAAO,GAAG,CAAC,GAAG,EAAE;QACd,IAAI,EAAE,IAAI,IAAI,EAAE;QAChB,oBAAoB,EAAE,IAAI;QAC1B,GAAG,IAAI;QACP,QAAQ;KACT,CAAC,CAAA;AACJ,CAAC"}
|
package/dist/dev.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../src/dev.tsx"],"names":[],"mappings":""}
|
package/dist/dev.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// src/dev.tsx
|
|
2
|
+
// Murasaki dev runner — Next.js-like file-based routing without Next.js.
|
|
3
|
+
//
|
|
4
|
+
// Reads the consumer's src/ directory:
|
|
5
|
+
// src/layout.tsx (optional, can export `metadata`)
|
|
6
|
+
// src/app.tsx (required)
|
|
7
|
+
// src/globals.css (optional, auto-injected)
|
|
8
|
+
//
|
|
9
|
+
// Renders <Layout><App /></Layout> with React, ships HTML to the WebView,
|
|
10
|
+
// and reloads in place on file change.
|
|
11
|
+
import { printBanner, printBye, printOpened, printReady, printShortcuts, printStarting, } from "./cli/log.js";
|
|
12
|
+
import { setupHmr } from "./runtime/hmr.js";
|
|
13
|
+
import { setupShortcuts, teardownStdin } from "./runtime/shortcuts.js";
|
|
14
|
+
import { closeWindow, exitApp, getConfig, openWindow, reloadWindow, runApp, } from "./runtime/window.js";
|
|
15
|
+
const startAt = Date.now();
|
|
16
|
+
// Boot: render once (applies metadata) → banner → ready
|
|
17
|
+
await openWindow();
|
|
18
|
+
printBanner(getConfig().title, getConfig());
|
|
19
|
+
printShortcuts();
|
|
20
|
+
printStarting();
|
|
21
|
+
printReady(Date.now() - startAt);
|
|
22
|
+
setupShortcuts({
|
|
23
|
+
onOpen: () => {
|
|
24
|
+
void openWindow().then(printOpened);
|
|
25
|
+
},
|
|
26
|
+
onRestart: () => {
|
|
27
|
+
closeWindow();
|
|
28
|
+
void openWindow().then(printOpened);
|
|
29
|
+
},
|
|
30
|
+
onQuit: () => {
|
|
31
|
+
printBye();
|
|
32
|
+
teardownStdin();
|
|
33
|
+
exitApp();
|
|
34
|
+
process.exit(0);
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
setupHmr((file) => {
|
|
38
|
+
void reloadWindow(file);
|
|
39
|
+
});
|
|
40
|
+
runApp();
|
|
41
|
+
//# sourceMappingURL=dev.js.map
|
package/dist/dev.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../src/dev.tsx"],"names":[],"mappings":"AAAA,cAAc;AACd,yEAAyE;AACzE,EAAE;AACF,uCAAuC;AACvC,uDAAuD;AACvD,gCAAgC;AAChC,+CAA+C;AAC/C,EAAE;AACF,0EAA0E;AAC1E,uCAAuC;AAEvC,OAAO,EACL,WAAW,EACX,QAAQ,EACR,WAAW,EACX,UAAU,EACV,cAAc,EACd,aAAa,GACd,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtE,OAAO,EACL,WAAW,EACX,OAAO,EACP,SAAS,EACT,UAAU,EACV,YAAY,EACZ,MAAM,GACP,MAAM,qBAAqB,CAAA;AAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;AAE1B,wDAAwD;AACxD,MAAM,UAAU,EAAE,CAAA;AAClB,WAAW,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;AAC3C,cAAc,EAAE,CAAA;AAChB,aAAa,EAAE,CAAA;AACf,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAA;AAEhC,cAAc,CAAC;IACb,MAAM,EAAE,GAAG,EAAE;QACX,KAAK,UAAU,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACrC,CAAC;IACD,SAAS,EAAE,GAAG,EAAE;QACd,WAAW,EAAE,CAAA;QACb,KAAK,UAAU,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACrC,CAAC;IACD,MAAM,EAAE,GAAG,EAAE;QACX,QAAQ,EAAE,CAAA;QACV,aAAa,EAAE,CAAA;QACf,OAAO,EAAE,CAAA;QACT,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;CACF,CAAC,CAAA;AAEF,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE;IAChB,KAAK,YAAY,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC,CAAC,CAAA;AAEF,MAAM,EAAE,CAAA"}
|
package/dist/env.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const projectRoot: string;
|
|
2
|
+
export declare const SRC_DIR: string;
|
|
3
|
+
export declare const APP_DIR: string;
|
|
4
|
+
export declare const APP_GLOBALS_CSS: string;
|
|
5
|
+
export declare const LEGACY_APP_PATH: string;
|
|
6
|
+
export declare const LEGACY_LAYOUT_PATH: string;
|
|
7
|
+
export declare const LEGACY_GLOBALS_CSS: string;
|
|
8
|
+
export declare const VERSION: string;
|
|
9
|
+
export declare const WEBVIEW_ENGINE: string;
|
|
10
|
+
export declare const DEFAULT_WIN_TITLE = "Murasaki App";
|
|
11
|
+
export declare const DEFAULT_WIN_SIZE: {
|
|
12
|
+
width: number;
|
|
13
|
+
height: number;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,WAAW,QAAgB,CAAA;AACxC,eAAO,MAAM,OAAO,QAA2B,CAAA;AAO/C,eAAO,MAAM,OAAO,QAAuB,CAAA;AAC3C,eAAO,MAAM,eAAe,QAA+B,CAAA;AAI3D,eAAO,MAAM,eAAe,QAA2B,CAAA;AACvD,eAAO,MAAM,kBAAkB,QAA8B,CAAA;AAC7D,eAAO,MAAM,kBAAkB,QAA+B,CAAA;AAG9D,eAAO,MAAM,OAAO,EAAE,MAOlB,CAAA;AAEJ,eAAO,MAAM,cAAc,EAAE,MAWzB,CAAA;AAEJ,eAAO,MAAM,iBAAiB,iBAAiB,CAAA;AAC/C,eAAO,MAAM,gBAAgB;;;CAA+B,CAAA"}
|
package/dist/env.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// Project paths + version + platform — resolved once at boot.
|
|
2
|
+
import { readFileSync } from 'node:fs';
|
|
3
|
+
import { dirname, join } from 'node:path';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
5
|
+
export const projectRoot = process.cwd();
|
|
6
|
+
export const SRC_DIR = join(projectRoot, 'src');
|
|
7
|
+
// App-router convention (new, preferred):
|
|
8
|
+
// src/app/page.tsx → "/"
|
|
9
|
+
// src/app/layout.tsx → root layout (html/head/body)
|
|
10
|
+
// src/app/<sub>/page.tsx → "/<sub>"
|
|
11
|
+
// src/app/globals.css → auto-injected
|
|
12
|
+
export const APP_DIR = join(SRC_DIR, 'app');
|
|
13
|
+
export const APP_GLOBALS_CSS = join(APP_DIR, 'globals.css');
|
|
14
|
+
// Legacy single-page convention (still supported):
|
|
15
|
+
// src/app.tsx + src/layout.tsx + src/globals.css
|
|
16
|
+
export const LEGACY_APP_PATH = join(SRC_DIR, 'app.tsx');
|
|
17
|
+
export const LEGACY_LAYOUT_PATH = join(SRC_DIR, 'layout.tsx');
|
|
18
|
+
export const LEGACY_GLOBALS_CSS = join(SRC_DIR, 'globals.css');
|
|
19
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
20
|
+
export const VERSION = (() => {
|
|
21
|
+
try {
|
|
22
|
+
const pkg = JSON.parse(readFileSync(join(__dirname, '..', 'package.json'), 'utf8'));
|
|
23
|
+
return pkg.version || '0.0.0';
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
return '0.0.0';
|
|
27
|
+
}
|
|
28
|
+
})();
|
|
29
|
+
export const WEBVIEW_ENGINE = (() => {
|
|
30
|
+
switch (process.platform) {
|
|
31
|
+
case 'darwin':
|
|
32
|
+
return 'WKWebView (macOS)';
|
|
33
|
+
case 'win32':
|
|
34
|
+
return 'WebView2 (Windows)';
|
|
35
|
+
case 'linux':
|
|
36
|
+
return 'WebKitGTK (Linux)';
|
|
37
|
+
default:
|
|
38
|
+
return `OS native (${process.platform})`;
|
|
39
|
+
}
|
|
40
|
+
})();
|
|
41
|
+
export const DEFAULT_WIN_TITLE = 'Murasaki App';
|
|
42
|
+
export const DEFAULT_WIN_SIZE = { width: 1280, height: 800 };
|
|
43
|
+
//# sourceMappingURL=env.js.map
|
package/dist/env.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;AACxC,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;AAE/C,0CAA0C;AAC1C,iCAAiC;AACjC,0DAA0D;AAC1D,sCAAsC;AACtC,2CAA2C;AAC3C,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;AAC3C,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;AAE3D,mDAAmD;AACnD,mDAAmD;AACnD,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;AACvD,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;AAC7D,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;AAE9D,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AACzD,MAAM,CAAC,MAAM,OAAO,GAAW,CAAC,GAAG,EAAE;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;QACnF,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAA;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAA;IAChB,CAAC;AACH,CAAC,CAAC,EAAE,CAAA;AAEJ,MAAM,CAAC,MAAM,cAAc,GAAW,CAAC,GAAG,EAAE;IAC1C,QAAQ,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzB,KAAK,QAAQ;YACX,OAAO,mBAAmB,CAAA;QAC5B,KAAK,OAAO;YACV,OAAO,oBAAoB,CAAA;QAC7B,KAAK,OAAO;YACV,OAAO,mBAAmB,CAAA;QAC5B;YACE,OAAO,cAAc,OAAO,CAAC,QAAQ,GAAG,CAAA;IAC5C,CAAC;AACH,CAAC,CAAC,EAAE,CAAA;AAEJ,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAA;AAC/C,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export type { LinkProps } from './components/Link.tsx';
|
|
2
|
+
export { Link } from './components/Link.tsx';
|
|
3
|
+
export type Metadata = {
|
|
4
|
+
/** Default <title> for the app (overridden by <title> tag inside <head>) */
|
|
5
|
+
title?: string;
|
|
6
|
+
/** <meta name="description"> */
|
|
7
|
+
description?: string;
|
|
8
|
+
/** Initial window options (applied at first open; user can resize after) */
|
|
9
|
+
window?: {
|
|
10
|
+
/** Window title bar text (defaults to metadata.title) */
|
|
11
|
+
title?: string;
|
|
12
|
+
/** Initial width in logical pixels */
|
|
13
|
+
width?: number;
|
|
14
|
+
/** Initial height in logical pixels */
|
|
15
|
+
height?: number;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAE5C,MAAM,MAAM,QAAQ,GAAG;IACrB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,4EAA4E;IAC5E,MAAM,CAAC,EAAE;QACP,yDAAyD;QACzD,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,sCAAsC;QACtC,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,uCAAuC;QACvC,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;CACF,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,EAAE;AACF,eAAe;AACf,6CAA6C;AAC7C,+CAA+C;AAG/C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAuB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/jsx/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,QAAQ,EACR,SAAS,EACT,cAAc,EACd,OAAO,EACP,GAAG,EACH,GAAG,EACH,cAAc,GACf,MAAM,cAAc,CAAA;AAErB,YAAY,EACV,KAAK,EACL,SAAS,EACT,OAAO,EACP,EAAE,EACF,WAAW,EACX,KAAK,GACN,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/jsx/index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAE3D,OAAO,EACL,aAAa,EACb,QAAQ,EACR,SAAS,EACT,cAAc,EACd,OAAO,EACP,GAAG,EACH,GAAG,EACH,cAAc,GACf,MAAM,cAAc,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsx-dev-runtime.d.ts","sourceRoot":"","sources":["../../src/jsx/jsx-dev-runtime.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// JSX dev runtime entry — used when tsconfig has `jsx: "react-jsxdev"`.
|
|
2
|
+
// We don't (yet) track source locations or component stacks, so jsxDEV
|
|
3
|
+
// behaves identically to jsx.
|
|
4
|
+
export { Fragment, jsx as jsxDEV } from "./runtime.js";
|
|
5
|
+
// JSX namespace is declared globally in ./types.ts — picked up automatically
|
|
6
|
+
// by the JSX compiler without needing an explicit re-export here.
|
|
7
|
+
//# sourceMappingURL=jsx-dev-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsx-dev-runtime.js","sourceRoot":"","sources":["../../src/jsx/jsx-dev-runtime.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,uEAAuE;AACvE,8BAA8B;AAE9B,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AAEtD,6EAA6E;AAC7E,kEAAkE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../../src/jsx/jsx-runtime.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,MAAM,cAAc,CAAA"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
// jsx(Component, props, key?)
|
|
6
6
|
// jsxs(Component, propsWithChildrenArray, key?)
|
|
7
7
|
// <></> → jsx(Fragment, { children: [...] })
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
export { Fragment, jsx, jsx as jsxs } from "./runtime.js";
|
|
9
|
+
// JSX namespace is declared globally in ./types.ts — picked up automatically
|
|
10
|
+
// by the JSX compiler without needing an explicit re-export here.
|
|
11
|
+
//# sourceMappingURL=jsx-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsx-runtime.js","sourceRoot":"","sources":["../../src/jsx/jsx-runtime.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,qDAAqD;AACrD,EAAE;AACF,kCAAkC;AAClC,gCAAgC;AAChC,kDAAkD;AAClD,+CAA+C;AAE/C,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,MAAM,cAAc,CAAA;AAEzD,6EAA6E;AAC7E,kEAAkE"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Child, Component, JSXNodeLike, Props } from './types.ts';
|
|
2
|
+
/** Wrap pre-rendered HTML so it's emitted verbatim as a JSX child. */
|
|
3
|
+
export declare function raw(html: string): JSXNodeLike;
|
|
4
|
+
export declare class JSXNode implements JSXNodeLike {
|
|
5
|
+
readonly __isJSXNode: true;
|
|
6
|
+
tag: string | Component;
|
|
7
|
+
props: Props;
|
|
8
|
+
children: Child[];
|
|
9
|
+
constructor(tag: string | Component, props: Props, children: Child[]);
|
|
10
|
+
toString(): string;
|
|
11
|
+
}
|
|
12
|
+
export declare function isJSXNode(v: unknown): v is JSXNode;
|
|
13
|
+
export declare function jsx(tag: string | Component, props: Props | null, ..._restChildren: unknown[]): JSXNode;
|
|
14
|
+
/** React-compatible alias. */
|
|
15
|
+
export declare const createElement: typeof jsx;
|
|
16
|
+
/** Fragment — renders children without a wrapper tag. */
|
|
17
|
+
export declare function Fragment(props: {
|
|
18
|
+
children?: Child;
|
|
19
|
+
}): Child;
|
|
20
|
+
/** Check if something is a JSX element (React.isValidElement compat). */
|
|
21
|
+
export declare function isValidElement(v: unknown): v is JSXNode;
|
|
22
|
+
/** Convert any value (JSXNode, string, array, etc.) to an HTML string. */
|
|
23
|
+
export declare function renderToString(value: Child): string;
|
|
24
|
+
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/jsx/runtime.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAoLtE,sEAAsE;AACtE,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAE7C;AAiBD,qBAAa,OAAQ,YAAW,WAAW;IACzC,QAAQ,CAAC,WAAW,EAAG,IAAI,CAAS;IACpC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;IACvB,KAAK,EAAE,KAAK,CAAA;IACZ,QAAQ,EAAE,KAAK,EAAE,CAAA;gBAEL,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;IAMpE,QAAQ,IAAI,MAAM;CA8BnB;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,OAAO,CAElD;AAGD,wBAAgB,GAAG,CACjB,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,KAAK,EAAE,KAAK,GAAG,IAAI,EACnB,GAAG,aAAa,EAAE,OAAO,EAAE,GAC1B,OAAO,CAWT;AAED,8BAA8B;AAC9B,eAAO,MAAM,aAAa,YAAM,CAAA;AAEhC,yDAAyD;AACzD,wBAAgB,QAAQ,CAAC,KAAK,EAAE;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAA;CAAE,GAAG,KAAK,CAE3D;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,OAAO,CAEvD;AAED,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAEnD"}
|