code-to-design 0.1.2 → 0.1.4

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.
@@ -4,7 +4,7 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>Code to Design</title>
7
- <script type="module" crossorigin src="/assets/index-C2Bl36s_.js"></script>
7
+ <script type="module" crossorigin src="/assets/index-BRaZpda-.js"></script>
8
8
  </head>
9
9
  <body>
10
10
  <div id="root"></div>
@@ -1085,12 +1085,32 @@ function sendRawJson(res, status, jsonString) {
1085
1085
  }
1086
1086
 
1087
1087
  // src/server/canvas-server.ts
1088
+ var MAX_PORT_ATTEMPTS = 10;
1089
+ function tryListen(requestHandler, port) {
1090
+ return new Promise((resolve2, reject) => {
1091
+ const server = createServer2(requestHandler);
1092
+ server.once("error", reject);
1093
+ server.listen(port, () => {
1094
+ const actualPort = server.address().port;
1095
+ resolve2({
1096
+ url: `http://localhost:${actualPort}`,
1097
+ port: actualPort,
1098
+ close: () => new Promise((resolveClose, rejectClose) => {
1099
+ server.close((err) => {
1100
+ if (err) rejectClose(err);
1101
+ else resolveClose();
1102
+ });
1103
+ })
1104
+ });
1105
+ });
1106
+ });
1107
+ }
1088
1108
  async function startCanvasServer(options) {
1089
1109
  const { port = 4800, canvasDir, c2dDir } = options;
1090
1110
  const canvasHandler = sirv(canvasDir, { single: true, dev: true });
1091
1111
  const rendersDir = join7(c2dDir, "renders");
1092
1112
  const rendersHandler = sirv(rendersDir, { dev: true });
1093
- const server = createServer2(async (req, res) => {
1113
+ const requestHandler = async (req, res) => {
1094
1114
  const url = req.url ?? "/";
1095
1115
  const method = req.method ?? "GET";
1096
1116
  res.setHeader("Access-Control-Allow-Origin", "*");
@@ -1127,23 +1147,19 @@ async function startCanvasServer(options) {
1127
1147
  res.writeHead(404);
1128
1148
  res.end("Not found");
1129
1149
  });
1130
- });
1131
- return new Promise((resolve2, reject) => {
1132
- server.on("error", reject);
1133
- server.listen(port, () => {
1134
- const actualPort = server.address().port;
1135
- resolve2({
1136
- url: `http://localhost:${actualPort}`,
1137
- port: actualPort,
1138
- close: () => new Promise((resolveClose, rejectClose) => {
1139
- server.close((err) => {
1140
- if (err) rejectClose(err);
1141
- else resolveClose();
1142
- });
1143
- })
1144
- });
1145
- });
1146
- });
1150
+ };
1151
+ for (let attempt = 0; attempt < MAX_PORT_ATTEMPTS; attempt++) {
1152
+ const tryPort = port + attempt;
1153
+ try {
1154
+ return await tryListen(requestHandler, tryPort);
1155
+ } catch (err) {
1156
+ if (err.code === "EADDRINUSE" && attempt < MAX_PORT_ATTEMPTS - 1) {
1157
+ continue;
1158
+ }
1159
+ throw err;
1160
+ }
1161
+ }
1162
+ throw new Error(`Could not find an available port (tried ${port}-${port + MAX_PORT_ATTEMPTS - 1})`);
1147
1163
  }
1148
1164
 
1149
1165
  // src/config.ts
@@ -1485,4 +1501,4 @@ export {
1485
1501
  detectNextJsProject,
1486
1502
  runScan
1487
1503
  };
1488
- //# sourceMappingURL=chunk-VOK3YCWT.js.map
1504
+ //# sourceMappingURL=chunk-BHEMO5RW.js.map