@marko/run 0.1.10 → 0.1.11
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/adapter/index.cjs +31 -14
- package/dist/adapter/index.js +31 -14
- package/dist/vite/index.cjs +14 -3
- package/dist/vite/index.js +14 -3
- package/dist/vite/utils/server.d.ts +4 -0
- package/package.json +1 -1
package/dist/adapter/index.cjs
CHANGED
|
@@ -66,7 +66,7 @@ async function createViteDevServer(config2) {
|
|
|
66
66
|
const devServer = await (0, import_vite.createServer)({
|
|
67
67
|
...config2,
|
|
68
68
|
appType: "custom",
|
|
69
|
-
server: { middlewareMode: true }
|
|
69
|
+
server: { ...config2 == null ? void 0 : config2.server, middlewareMode: true }
|
|
70
70
|
});
|
|
71
71
|
const originalClose = devServer.close;
|
|
72
72
|
devServer.close = () => {
|
|
@@ -124,7 +124,10 @@ async function spawnServer(cmd, args = [], port = 0, env, cwd = process.cwd(), w
|
|
|
124
124
|
proc.kill();
|
|
125
125
|
};
|
|
126
126
|
try {
|
|
127
|
-
await
|
|
127
|
+
await Promise.race([
|
|
128
|
+
waitForError(proc, port),
|
|
129
|
+
waitForServer(port, wait)
|
|
130
|
+
]);
|
|
128
131
|
} catch (err) {
|
|
129
132
|
close();
|
|
130
133
|
throw err;
|
|
@@ -161,6 +164,14 @@ async function spawnServerWorker(module2, args = [], port = 0, env) {
|
|
|
161
164
|
import_cluster.default.settings.execArgv = originalArgs;
|
|
162
165
|
}
|
|
163
166
|
}
|
|
167
|
+
async function waitForError(proc, port) {
|
|
168
|
+
return new Promise((_, reject) => {
|
|
169
|
+
proc.once("error", reject);
|
|
170
|
+
proc.once("exit", (code) => {
|
|
171
|
+
reject(new Error(`Process exited with code ${code} while waiting for server to start on port "${port}".`));
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
}
|
|
164
175
|
async function waitForServer(port, wait = 0) {
|
|
165
176
|
let remaining = wait > 0 ? wait : Infinity;
|
|
166
177
|
let connection;
|
|
@@ -170,12 +181,29 @@ async function waitForServer(port, wait = 0) {
|
|
|
170
181
|
await sleep(100);
|
|
171
182
|
} else {
|
|
172
183
|
throw new Error(
|
|
173
|
-
`
|
|
184
|
+
`Timeout while wating for server to start on port "${port}".`
|
|
174
185
|
);
|
|
175
186
|
}
|
|
176
187
|
}
|
|
177
188
|
return connection;
|
|
178
189
|
}
|
|
190
|
+
async function waitForWorker(worker, port) {
|
|
191
|
+
return new Promise((resolve, reject) => {
|
|
192
|
+
function listening(address) {
|
|
193
|
+
if (address.port === port) {
|
|
194
|
+
worker.off("listening", listening);
|
|
195
|
+
resolve();
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
worker.on("listening", listening).once("error", reject).once("exit", (code) => {
|
|
199
|
+
reject(
|
|
200
|
+
new Error(
|
|
201
|
+
`Worker exited with code ${code} while waiting for dev server to start on port "${port}".`
|
|
202
|
+
)
|
|
203
|
+
);
|
|
204
|
+
});
|
|
205
|
+
});
|
|
206
|
+
}
|
|
179
207
|
async function getConnection(port) {
|
|
180
208
|
return new Promise((resolve) => {
|
|
181
209
|
const connection = import_net.default.connect(port).setNoDelay(true).setKeepAlive(false).on("error", () => {
|
|
@@ -275,17 +303,6 @@ function adapter() {
|
|
|
275
303
|
}
|
|
276
304
|
};
|
|
277
305
|
}
|
|
278
|
-
async function waitForWorker(worker, port) {
|
|
279
|
-
return new Promise((resolve) => {
|
|
280
|
-
function listening(address) {
|
|
281
|
-
if (address.port === port) {
|
|
282
|
-
worker.off("listening", listening);
|
|
283
|
-
resolve();
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
worker.on("listening", listening);
|
|
287
|
-
});
|
|
288
|
-
}
|
|
289
306
|
// Annotate the CommonJS export names for ESM import in node:
|
|
290
307
|
0 && (module.exports = {
|
|
291
308
|
activeDevServers,
|
package/dist/adapter/index.js
CHANGED
|
@@ -32,7 +32,7 @@ async function createViteDevServer(config2) {
|
|
|
32
32
|
const devServer = await createServer({
|
|
33
33
|
...config2,
|
|
34
34
|
appType: "custom",
|
|
35
|
-
server: { middlewareMode: true }
|
|
35
|
+
server: { ...config2 == null ? void 0 : config2.server, middlewareMode: true }
|
|
36
36
|
});
|
|
37
37
|
const originalClose = devServer.close;
|
|
38
38
|
devServer.close = () => {
|
|
@@ -90,7 +90,10 @@ async function spawnServer(cmd, args = [], port = 0, env, cwd = process.cwd(), w
|
|
|
90
90
|
proc.kill();
|
|
91
91
|
};
|
|
92
92
|
try {
|
|
93
|
-
await
|
|
93
|
+
await Promise.race([
|
|
94
|
+
waitForError(proc, port),
|
|
95
|
+
waitForServer(port, wait)
|
|
96
|
+
]);
|
|
94
97
|
} catch (err) {
|
|
95
98
|
close();
|
|
96
99
|
throw err;
|
|
@@ -127,6 +130,14 @@ async function spawnServerWorker(module, args = [], port = 0, env) {
|
|
|
127
130
|
cluster.settings.execArgv = originalArgs;
|
|
128
131
|
}
|
|
129
132
|
}
|
|
133
|
+
async function waitForError(proc, port) {
|
|
134
|
+
return new Promise((_, reject) => {
|
|
135
|
+
proc.once("error", reject);
|
|
136
|
+
proc.once("exit", (code) => {
|
|
137
|
+
reject(new Error(`Process exited with code ${code} while waiting for server to start on port "${port}".`));
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
}
|
|
130
141
|
async function waitForServer(port, wait = 0) {
|
|
131
142
|
let remaining = wait > 0 ? wait : Infinity;
|
|
132
143
|
let connection;
|
|
@@ -136,12 +147,29 @@ async function waitForServer(port, wait = 0) {
|
|
|
136
147
|
await sleep(100);
|
|
137
148
|
} else {
|
|
138
149
|
throw new Error(
|
|
139
|
-
`
|
|
150
|
+
`Timeout while wating for server to start on port "${port}".`
|
|
140
151
|
);
|
|
141
152
|
}
|
|
142
153
|
}
|
|
143
154
|
return connection;
|
|
144
155
|
}
|
|
156
|
+
async function waitForWorker(worker, port) {
|
|
157
|
+
return new Promise((resolve, reject) => {
|
|
158
|
+
function listening(address) {
|
|
159
|
+
if (address.port === port) {
|
|
160
|
+
worker.off("listening", listening);
|
|
161
|
+
resolve();
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
worker.on("listening", listening).once("error", reject).once("exit", (code) => {
|
|
165
|
+
reject(
|
|
166
|
+
new Error(
|
|
167
|
+
`Worker exited with code ${code} while waiting for dev server to start on port "${port}".`
|
|
168
|
+
)
|
|
169
|
+
);
|
|
170
|
+
});
|
|
171
|
+
});
|
|
172
|
+
}
|
|
145
173
|
async function getConnection(port) {
|
|
146
174
|
return new Promise((resolve) => {
|
|
147
175
|
const connection = net.connect(port).setNoDelay(true).setKeepAlive(false).on("error", () => {
|
|
@@ -240,17 +268,6 @@ function adapter() {
|
|
|
240
268
|
}
|
|
241
269
|
};
|
|
242
270
|
}
|
|
243
|
-
async function waitForWorker(worker, port) {
|
|
244
|
-
return new Promise((resolve) => {
|
|
245
|
-
function listening(address) {
|
|
246
|
-
if (address.port === port) {
|
|
247
|
-
worker.off("listening", listening);
|
|
248
|
-
resolve();
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
worker.on("listening", listening);
|
|
252
|
-
});
|
|
253
|
-
}
|
|
254
271
|
export {
|
|
255
272
|
activeDevServers,
|
|
256
273
|
createDevServer,
|
package/dist/vite/index.cjs
CHANGED
|
@@ -1379,7 +1379,7 @@ function markoRun(opts = {}) {
|
|
|
1379
1379
|
const filepath = import_path2.default.join(typesDir, "routes.d.ts");
|
|
1380
1380
|
const data = await renderRouteTypeInfo(
|
|
1381
1381
|
routes,
|
|
1382
|
-
import_path2.default.relative(typesDir, resolvedRoutesDir),
|
|
1382
|
+
normalizePath(import_path2.default.relative(typesDir, resolvedRoutesDir)),
|
|
1383
1383
|
adapter
|
|
1384
1384
|
);
|
|
1385
1385
|
if (data !== typesFile || !import_fs2.default.existsSync(filepath)) {
|
|
@@ -1852,7 +1852,10 @@ async function spawnServer(cmd, args = [], port = 0, env, cwd = process.cwd(), w
|
|
|
1852
1852
|
proc.kill();
|
|
1853
1853
|
};
|
|
1854
1854
|
try {
|
|
1855
|
-
await
|
|
1855
|
+
await Promise.race([
|
|
1856
|
+
waitForError(proc, port),
|
|
1857
|
+
waitForServer(port, wait)
|
|
1858
|
+
]);
|
|
1856
1859
|
} catch (err) {
|
|
1857
1860
|
close();
|
|
1858
1861
|
throw err;
|
|
@@ -1862,6 +1865,14 @@ async function spawnServer(cmd, args = [], port = 0, env, cwd = process.cwd(), w
|
|
|
1862
1865
|
close
|
|
1863
1866
|
};
|
|
1864
1867
|
}
|
|
1868
|
+
async function waitForError(proc, port) {
|
|
1869
|
+
return new Promise((_, reject) => {
|
|
1870
|
+
proc.once("error", reject);
|
|
1871
|
+
proc.once("exit", (code) => {
|
|
1872
|
+
reject(new Error(`Process exited with code ${code} while waiting for server to start on port "${port}".`));
|
|
1873
|
+
});
|
|
1874
|
+
});
|
|
1875
|
+
}
|
|
1865
1876
|
async function waitForServer(port, wait = 0) {
|
|
1866
1877
|
let remaining = wait > 0 ? wait : Infinity;
|
|
1867
1878
|
let connection;
|
|
@@ -1871,7 +1882,7 @@ async function waitForServer(port, wait = 0) {
|
|
|
1871
1882
|
await sleep(100);
|
|
1872
1883
|
} else {
|
|
1873
1884
|
throw new Error(
|
|
1874
|
-
`
|
|
1885
|
+
`Timeout while wating for server to start on port "${port}".`
|
|
1875
1886
|
);
|
|
1876
1887
|
}
|
|
1877
1888
|
}
|
package/dist/vite/index.js
CHANGED
|
@@ -1341,7 +1341,7 @@ function markoRun(opts = {}) {
|
|
|
1341
1341
|
const filepath = path2.join(typesDir, "routes.d.ts");
|
|
1342
1342
|
const data = await renderRouteTypeInfo(
|
|
1343
1343
|
routes,
|
|
1344
|
-
path2.relative(typesDir, resolvedRoutesDir),
|
|
1344
|
+
normalizePath(path2.relative(typesDir, resolvedRoutesDir)),
|
|
1345
1345
|
adapter
|
|
1346
1346
|
);
|
|
1347
1347
|
if (data !== typesFile || !fs2.existsSync(filepath)) {
|
|
@@ -1814,7 +1814,10 @@ async function spawnServer(cmd, args = [], port = 0, env, cwd = process.cwd(), w
|
|
|
1814
1814
|
proc.kill();
|
|
1815
1815
|
};
|
|
1816
1816
|
try {
|
|
1817
|
-
await
|
|
1817
|
+
await Promise.race([
|
|
1818
|
+
waitForError(proc, port),
|
|
1819
|
+
waitForServer(port, wait)
|
|
1820
|
+
]);
|
|
1818
1821
|
} catch (err) {
|
|
1819
1822
|
close();
|
|
1820
1823
|
throw err;
|
|
@@ -1824,6 +1827,14 @@ async function spawnServer(cmd, args = [], port = 0, env, cwd = process.cwd(), w
|
|
|
1824
1827
|
close
|
|
1825
1828
|
};
|
|
1826
1829
|
}
|
|
1830
|
+
async function waitForError(proc, port) {
|
|
1831
|
+
return new Promise((_, reject) => {
|
|
1832
|
+
proc.once("error", reject);
|
|
1833
|
+
proc.once("exit", (code) => {
|
|
1834
|
+
reject(new Error(`Process exited with code ${code} while waiting for server to start on port "${port}".`));
|
|
1835
|
+
});
|
|
1836
|
+
});
|
|
1837
|
+
}
|
|
1827
1838
|
async function waitForServer(port, wait = 0) {
|
|
1828
1839
|
let remaining = wait > 0 ? wait : Infinity;
|
|
1829
1840
|
let connection;
|
|
@@ -1833,7 +1844,7 @@ async function waitForServer(port, wait = 0) {
|
|
|
1833
1844
|
await sleep(100);
|
|
1834
1845
|
} else {
|
|
1835
1846
|
throw new Error(
|
|
1836
|
-
`
|
|
1847
|
+
`Timeout while wating for server to start on port "${port}".`
|
|
1837
1848
|
);
|
|
1838
1849
|
}
|
|
1839
1850
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
2
3
|
import { type Socket } from "net";
|
|
4
|
+
import { ChildProcess } from "child_process";
|
|
3
5
|
import { type Worker } from "cluster";
|
|
4
6
|
export interface SpawnedServer {
|
|
5
7
|
port: number;
|
|
@@ -9,7 +11,9 @@ export declare function parseEnv(envFile: string): Promise<import("dotenv").Dote
|
|
|
9
11
|
export declare function loadEnv(envFile: string): void;
|
|
10
12
|
export declare function spawnServer(cmd: string, args?: string[], port?: number, env?: string | Record<string, string>, cwd?: string, wait?: number): Promise<SpawnedServer>;
|
|
11
13
|
export declare function spawnServerWorker(module: string, args?: string[], port?: number, env?: string | Record<string, string>): Promise<Worker>;
|
|
14
|
+
export declare function waitForError(proc: ChildProcess, port: number): Promise<void>;
|
|
12
15
|
export declare function waitForServer(port: number, wait?: number): Promise<Socket>;
|
|
16
|
+
export declare function waitForWorker(worker: Worker, port: number): Promise<void>;
|
|
13
17
|
export declare function getConnection(port: number): Promise<Socket | null>;
|
|
14
18
|
export declare function isPortInUse(port: number): Promise<boolean>;
|
|
15
19
|
export declare function getAvailablePort(): Promise<number>;
|