almostnode 0.2.4 → 0.2.6
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/LICENSE +1 -1
- package/dist/__sw__.js +32 -1
- package/dist/assets/{runtime-worker-D9x_Ddwz.js → runtime-worker-B8_LZkBX.js} +85 -32
- package/dist/assets/runtime-worker-B8_LZkBX.js.map +1 -0
- package/dist/frameworks/next-dev-server.d.ts +63 -0
- package/dist/frameworks/next-dev-server.d.ts.map +1 -1
- package/dist/frameworks/tailwind-config-loader.d.ts +32 -0
- package/dist/frameworks/tailwind-config-loader.d.ts.map +1 -0
- package/dist/frameworks/vite-dev-server.d.ts +1 -0
- package/dist/frameworks/vite-dev-server.d.ts.map +1 -1
- package/dist/index.cjs +995 -55
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +975 -60
- package/dist/index.mjs.map +1 -1
- package/dist/macaly-demo.d.ts +42 -0
- package/dist/macaly-demo.d.ts.map +1 -0
- package/dist/runtime.d.ts +2 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/types/package-json.d.ts +16 -0
- package/dist/types/package-json.d.ts.map +1 -0
- package/dist/utils/hash.d.ts +6 -0
- package/dist/utils/hash.d.ts.map +1 -0
- package/dist/virtual-fs.d.ts +1 -0
- package/dist/virtual-fs.d.ts.map +1 -1
- package/package.json +2 -1
- package/src/frameworks/next-dev-server.ts +940 -34
- package/src/frameworks/tailwind-config-loader.ts +206 -0
- package/src/frameworks/vite-dev-server.ts +25 -0
- package/src/macaly-demo.ts +172 -0
- package/src/runtime.ts +84 -25
- package/src/types/package-json.ts +15 -0
- package/src/utils/hash.ts +12 -0
- package/src/virtual-fs.ts +14 -10
- package/dist/assets/runtime-worker-D9x_Ddwz.js.map +0 -1
|
@@ -16,6 +16,8 @@ export interface NextDevServerOptions extends DevServerOptions {
|
|
|
16
16
|
preferAppRouter?: boolean;
|
|
17
17
|
/** Environment variables (NEXT_PUBLIC_* are available in browser code via process.env) */
|
|
18
18
|
env?: Record<string, string>;
|
|
19
|
+
/** Asset prefix for static files (e.g., '/marketing'). Auto-detected from next.config if not specified. */
|
|
20
|
+
assetPrefix?: string;
|
|
19
21
|
}
|
|
20
22
|
/**
|
|
21
23
|
* NextDevServer - A lightweight Next.js-compatible development server
|
|
@@ -55,7 +57,33 @@ export declare class NextDevServer extends DevServer {
|
|
|
55
57
|
private hmrTargetWindow;
|
|
56
58
|
/** Store options for later access (e.g., env vars) */
|
|
57
59
|
private options;
|
|
60
|
+
/** Transform result cache for performance */
|
|
61
|
+
private transformCache;
|
|
62
|
+
/** Path aliases from tsconfig.json (e.g., @/* -> ./*) */
|
|
63
|
+
private pathAliases;
|
|
64
|
+
/** Cached Tailwind config script (injected before CDN) */
|
|
65
|
+
private tailwindConfigScript;
|
|
66
|
+
/** Whether Tailwind config has been loaded */
|
|
67
|
+
private tailwindConfigLoaded;
|
|
68
|
+
/** Asset prefix for static files (e.g., '/marketing') */
|
|
69
|
+
private assetPrefix;
|
|
58
70
|
constructor(vfs: VirtualFS, options: NextDevServerOptions);
|
|
71
|
+
/**
|
|
72
|
+
* Load path aliases from tsconfig.json
|
|
73
|
+
* Supports common patterns like @/* -> ./*
|
|
74
|
+
*/
|
|
75
|
+
private loadPathAliases;
|
|
76
|
+
/**
|
|
77
|
+
* Load assetPrefix from options or auto-detect from next.config.ts/js
|
|
78
|
+
* The assetPrefix is used to prefix static asset URLs (e.g., '/marketing')
|
|
79
|
+
*/
|
|
80
|
+
private loadAssetPrefix;
|
|
81
|
+
/**
|
|
82
|
+
* Resolve path aliases in transformed code
|
|
83
|
+
* Converts imports like "@/components/foo" to "/__virtual__/PORT/components/foo"
|
|
84
|
+
* This ensures imports go through the virtual server instead of the main server
|
|
85
|
+
*/
|
|
86
|
+
private resolvePathAliases;
|
|
59
87
|
/**
|
|
60
88
|
* Set an environment variable at runtime
|
|
61
89
|
* NEXT_PUBLIC_* variables will be available via process.env in browser code
|
|
@@ -73,8 +101,14 @@ export declare class NextDevServer extends DevServer {
|
|
|
73
101
|
/**
|
|
74
102
|
* Generate a script tag that defines process.env with NEXT_PUBLIC_* variables
|
|
75
103
|
* This makes environment variables available to browser code via process.env.NEXT_PUBLIC_*
|
|
104
|
+
* Also includes all env variables for Server Component compatibility
|
|
76
105
|
*/
|
|
77
106
|
private generateEnvScript;
|
|
107
|
+
/**
|
|
108
|
+
* Load Tailwind config from tailwind.config.ts and generate a script
|
|
109
|
+
* that configures the Tailwind CDN at runtime
|
|
110
|
+
*/
|
|
111
|
+
private loadTailwindConfigIfNeeded;
|
|
78
112
|
/**
|
|
79
113
|
* Check if App Router is available
|
|
80
114
|
*/
|
|
@@ -87,6 +121,11 @@ export declare class NextDevServer extends DevServer {
|
|
|
87
121
|
* Serve Next.js shims (link, router, head, navigation)
|
|
88
122
|
*/
|
|
89
123
|
private serveNextShim;
|
|
124
|
+
/**
|
|
125
|
+
* Serve route info for client-side navigation
|
|
126
|
+
* Returns params extracted from dynamic route segments
|
|
127
|
+
*/
|
|
128
|
+
private serveRouteInfo;
|
|
90
129
|
/**
|
|
91
130
|
* Serve static assets from /_next/static/
|
|
92
131
|
*/
|
|
@@ -148,6 +187,7 @@ export declare class NextDevServer extends DevServer {
|
|
|
148
187
|
private resolveAppRoute;
|
|
149
188
|
/**
|
|
150
189
|
* Resolve dynamic App Router routes like /app/[id]/page.jsx
|
|
190
|
+
* Also extracts route params from dynamic segments
|
|
151
191
|
*/
|
|
152
192
|
private resolveAppDynamicRoute;
|
|
153
193
|
/**
|
|
@@ -170,6 +210,12 @@ export declare class NextDevServer extends DevServer {
|
|
|
170
210
|
* Serve a basic 404 page
|
|
171
211
|
*/
|
|
172
212
|
private serve404Page;
|
|
213
|
+
/**
|
|
214
|
+
* Try to resolve a file path by adding common extensions
|
|
215
|
+
* e.g., /components/faq -> /components/faq.tsx
|
|
216
|
+
* Also handles index files in directories
|
|
217
|
+
*/
|
|
218
|
+
private resolveFileWithExtension;
|
|
173
219
|
/**
|
|
174
220
|
* Check if a file needs transformation
|
|
175
221
|
*/
|
|
@@ -182,6 +228,14 @@ export declare class NextDevServer extends DevServer {
|
|
|
182
228
|
* Transform JSX/TS code to browser-compatible JavaScript (ESM for browser)
|
|
183
229
|
*/
|
|
184
230
|
private transformCode;
|
|
231
|
+
/**
|
|
232
|
+
* Redirect bare npm package imports to esm.sh CDN
|
|
233
|
+
* e.g., import { Crisp } from "crisp-sdk-web" -> import { Crisp } from "https://esm.sh/crisp-sdk-web?external=react"
|
|
234
|
+
*
|
|
235
|
+
* IMPORTANT: We redirect ALL npm packages to esm.sh URLs (including React)
|
|
236
|
+
* because import maps don't work reliably for dynamically imported modules.
|
|
237
|
+
*/
|
|
238
|
+
private redirectNpmImports;
|
|
185
239
|
/**
|
|
186
240
|
* Strip CSS imports from code (they are loaded via <link> tags instead)
|
|
187
241
|
* Handles: import './styles.css', import '../globals.css', etc.
|
|
@@ -203,6 +257,15 @@ export declare class NextDevServer extends DevServer {
|
|
|
203
257
|
* Handle file change event
|
|
204
258
|
*/
|
|
205
259
|
private handleFileChange;
|
|
260
|
+
/**
|
|
261
|
+
* Override serveFile to wrap JSON files as ES modules
|
|
262
|
+
* This is needed because browsers can't dynamically import raw JSON files
|
|
263
|
+
*/
|
|
264
|
+
protected serveFile(filePath: string): ResponseData;
|
|
265
|
+
/**
|
|
266
|
+
* Resolve a path (helper to access protected method from parent)
|
|
267
|
+
*/
|
|
268
|
+
protected resolvePath(urlPath: string): string;
|
|
206
269
|
/**
|
|
207
270
|
* Stop the server
|
|
208
271
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next-dev-server.d.ts","sourceRoot":"","sources":["../../src/frameworks/next-dev-server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAa,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"next-dev-server.d.ts","sourceRoot":"","sources":["../../src/frameworks/next-dev-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tailwind Config Loader
|
|
3
|
+
*
|
|
4
|
+
* Parses tailwind.config.ts files and generates JavaScript to configure
|
|
5
|
+
* the Tailwind CDN at runtime via window.tailwind.config.
|
|
6
|
+
*/
|
|
7
|
+
import type { VirtualFS } from '../virtual-fs';
|
|
8
|
+
export interface TailwindConfigResult {
|
|
9
|
+
/** JavaScript code to set window.tailwind.config (empty string if no config) */
|
|
10
|
+
configScript: string;
|
|
11
|
+
/** Whether config was successfully loaded */
|
|
12
|
+
success: boolean;
|
|
13
|
+
/** Error message if loading failed */
|
|
14
|
+
error?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Load and parse a Tailwind config file from VirtualFS
|
|
18
|
+
*/
|
|
19
|
+
export declare function loadTailwindConfig(vfs: VirtualFS, root?: string): Promise<TailwindConfigResult>;
|
|
20
|
+
/**
|
|
21
|
+
* Strip TypeScript-specific syntax from config content
|
|
22
|
+
*/
|
|
23
|
+
export declare function stripTypescriptSyntax(content: string): string;
|
|
24
|
+
/**
|
|
25
|
+
* Extract the config object from the processed content
|
|
26
|
+
*/
|
|
27
|
+
export declare function extractConfigObject(content: string): string | null;
|
|
28
|
+
/**
|
|
29
|
+
* Generate the script to inject the Tailwind config
|
|
30
|
+
*/
|
|
31
|
+
export declare function generateConfigScript(configObject: string): string;
|
|
32
|
+
//# sourceMappingURL=tailwind-config-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tailwind-config-loader.d.ts","sourceRoot":"","sources":["../../src/frameworks/tailwind-config-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,oBAAoB;IACnC,gFAAgF;IAChF,YAAY,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AASD;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,SAAS,EACd,IAAI,GAAE,MAAY,GACjB,OAAO,CAAC,oBAAoB,CAAC,CAyD/B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAwB7D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAuElE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAOjE"}
|
|
@@ -27,6 +27,7 @@ export declare class ViteDevServer extends DevServer {
|
|
|
27
27
|
private watcherCleanup;
|
|
28
28
|
private options;
|
|
29
29
|
private hmrTargetWindow;
|
|
30
|
+
private transformCache;
|
|
30
31
|
constructor(vfs: VirtualFS, options: ViteDevServerOptions);
|
|
31
32
|
/**
|
|
32
33
|
* Set the target window for HMR updates (typically iframe.contentWindow)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-dev-server.d.ts","sourceRoot":"","sources":["../../src/frameworks/vite-dev-server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAa,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"vite-dev-server.d.ts","sourceRoot":"","sources":["../../src/frameworks/vite-dev-server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAa,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAsEzC,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D;;OAEG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAqLD,qBAAa,aAAc,SAAQ,SAAS;IAC1C,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,cAAc,CAA0D;gBAEpE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB;IAWzD;;;OAGG;IACH,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAIxC;;OAEG;IACG,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,CAAC;IA0ExB;;OAEG;IACH,aAAa,IAAI,IAAI;IAqCrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA2BxB;;OAEG;IACH,IAAI,IAAI,IAAI;IAWZ;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;YACW,iBAAiB;IAwD/B;;OAEG;YACW,aAAa;IAsC3B;;;OAGG;IACH,OAAO,CAAC,eAAe;IA4DvB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA+BxB;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;CAyCzB;AAED,eAAe,aAAa,CAAC"}
|