chore: initialize monorepo scaffold with npm workspaces

This commit is contained in:
2026-08-12 20:36:12 +08:00
parent f5791906e2
commit 1392357dc1
13 changed files with 2408 additions and 0 deletions
+2282
View File
File diff suppressed because it is too large Load Diff
+16
View File
@@ -0,0 +1,16 @@
{
"name": "visionl",
"private": true,
"workspaces": ["packages/*"],
"scripts": {
"typecheck": "tsc -b",
"build": "tsc -b",
"test": "vitest run",
"test:watch": "vitest"
},
"devDependencies": {
"typescript": "^5.7.0",
"vitest": "^3.0.0",
"@types/node": "^22.0.0"
}
}
+19
View File
@@ -0,0 +1,19 @@
{
"name": "@visionl/cli",
"version": "0.1.0",
"private": true,
"bin": {
"visionl": "./dist/index.js"
},
"scripts": {
"typecheck": "tsc -b",
"build": "tsc -b"
},
"dependencies": {
"@visionl/core": "*",
"commander": "^13.0.0"
},
"devDependencies": {
"@types/commander": "npm:commander@^13.0.0"
}
}
+2
View File
@@ -0,0 +1,2 @@
// @visionl/cli — placeholder, to be implemented in Task 4
export const CLI_VERSION = '0.1.0';
+9
View File
@@ -0,0 +1,9 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"outDir": "./dist",
"rootDir": "./src"
},
"include": ["src"],
"references": [{ "path": "../core" }]
}
+11
View File
@@ -0,0 +1,11 @@
{
"name": "@visionl/core",
"version": "0.1.0",
"private": true,
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
"scripts": {
"typecheck": "tsc -b",
"build": "tsc -b"
}
}
+2
View File
@@ -0,0 +1,2 @@
// @visionl/core — placeholder, to be implemented in Task 2
export const VERSION = '0.1.0';
+8
View File
@@ -0,0 +1,8 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"outDir": "./dist",
"rootDir": "./src"
},
"include": ["src"]
}
+20
View File
@@ -0,0 +1,20 @@
{
"name": "@visionl/daemon",
"version": "0.1.0",
"private": true,
"main": "./dist/server.js",
"scripts": {
"typecheck": "tsc -b",
"build": "tsc -b",
"start": "node ./dist/server.js"
},
"dependencies": {
"@visionl/core": "*",
"playwright": "^1.52.0",
"playwright-extra": "^4.3.0",
"puppeteer-extra-plugin-stealth": "^2.11.0"
},
"devDependencies": {
"@types/ws": "^8.0.0"
}
}
+2
View File
@@ -0,0 +1,2 @@
// @visionl/daemon — placeholder, to be implemented in Task 3
export const DAEMON_VERSION = '0.1.0';
+9
View File
@@ -0,0 +1,9 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"outDir": "./dist",
"rootDir": "./src"
},
"include": ["src"],
"references": [{ "path": "../core" }]
}
+21
View File
@@ -0,0 +1,21 @@
{
"compilerOptions": {
"target": "ES2022",
"module": "NodeNext",
"moduleResolution": "NodeNext",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"declaration": true,
"composite": true,
"outDir": "./dist",
"rootDir": "."
},
"references": [
{ "path": "./packages/core" },
{ "path": "./packages/daemon" },
{ "path": "./packages/cli" }
],
"files": []
}
+7
View File
@@ -0,0 +1,7 @@
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
include: ['packages/*/src/**/*.test.ts'],
},
});