Add CLI package, config file support, and workspace setup
Add cli/ package with initial scaffolding. Add config-schema to shared package for typed configuration. Add server config-file loader for paperclip.config.ts support. Register cli in pnpm workspace. Add .paperclip/ and .pnpm-store/ to gitignore. Minor Companies page fix. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
18
cli/src/utils/net.ts
Normal file
18
cli/src/utils/net.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import net from "node:net";
|
||||
|
||||
export function checkPort(port: number): Promise<{ available: boolean; error?: string }> {
|
||||
return new Promise((resolve) => {
|
||||
const server = net.createServer();
|
||||
server.once("error", (err: NodeJS.ErrnoException) => {
|
||||
if (err.code === "EADDRINUSE") {
|
||||
resolve({ available: false, error: `Port ${port} is already in use` });
|
||||
} else {
|
||||
resolve({ available: false, error: err.message });
|
||||
}
|
||||
});
|
||||
server.once("listening", () => {
|
||||
server.close(() => resolve({ available: true }));
|
||||
});
|
||||
server.listen(port, "127.0.0.1");
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user