diff --git a/deno.json b/deno.json index 4ba1e97..23e2972 100644 --- a/deno.json +++ b/deno.json @@ -1,9 +1,36 @@ { + "$schema": "https://deno.land/x/deno/cli/schemas/config-file.v1.json", + "name": "@hyperpolymath/accessibility-everywhere", + "version": "1.0.0", + "license": "MIT", + "workspace": [ + "./tools/cli", + "./tools/github-action", + "./tools/monitoring-api", + "./tools/safe-dom", + "./tools/stale/packages/core", + "./tools/stale/packages/scanner" + ], "tasks": { + "setup": "deno run --allow-read --allow-write --allow-net --allow-env scripts/setup-arangodb.js", "dev": "deno run --watch mod.ts", + "build": "deno task build:cli && deno task build:safe-dom && deno task build:scanner", + "build:cli": "deno task --cwd tools/cli build", + "build:safe-dom": "deno task --cwd tools/safe-dom build", + "build:scanner": "deno task --cwd tools/stale/packages/scanner build", + "build:browser-extension": "echo 'tools/browser-extension is a Class C browser-extension package (host requires the npm-published archiver). Use the existing scripts in tools/browser-extension/.'", "test": "deno test", "lint": "deno lint", - "fmt": "deno fmt" + "fmt": "deno fmt", + "docker:build": "docker compose build", + "docker:up": "docker compose up -d", + "docker:down": "docker compose down" }, - "compilerOptions": { "strict": true } + "compilerOptions": { "strict": true }, + "fmt": { + "useTabs": false, + "lineWidth": 100, + "indentWidth": 2, + "singleQuote": false + } } diff --git a/package.json b/package.json deleted file mode 100644 index e8c8e63..0000000 --- a/package.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "accessibility-everywhere", - "version": "1.0.0", - "description": "Comprehensive platform to make web accessibility a search engine ranking factor", - "private": true, - "workspaces": [ - "packages/*", - "tools/*", - "tools/stale/packages/*", - "tools/stale/packages/stale/components/*" - ], - "scripts": { - "setup": "npm install && npm run setup:db", - "setup:db": "node scripts/setup-arangodb.js", - "dev": "npm run dev --workspaces --if-present", - "build": "npm run build --workspaces --if-present", - "test": "npm run test --workspaces --if-present", - "docker:build": "docker-compose build", - "docker:up": "docker-compose up -d", - "docker:down": "docker-compose down" - }, - "keywords": [ - "accessibility", - "a11y", - "wcag", - "aria", - "web-standards", - "search-ranking" - ], - "author": "Accessibility Everywhere Initiative", - "license": "MIT", - "devDependencies": { - "concurrently": "^8.2.2", - "prettier": "^3.1.0" - } -} diff --git a/tools/cli/deno.json b/tools/cli/deno.json new file mode 100644 index 0000000..1ab966d --- /dev/null +++ b/tools/cli/deno.json @@ -0,0 +1,21 @@ +{ + "$schema": "https://deno.land/x/deno/cli/schemas/config-file.v1.json", + "name": "@accessibility-everywhere/cli", + "version": "1.0.0", + "license": "MIT", + "tasks": { + "build": "deno run -A --node-modules-dir=auto npm:rescript@^12.0.0", + "clean": "deno run -A --node-modules-dir=auto npm:rescript@^12.0.0 clean", + "dev": "deno run -A --node-modules-dir=auto npm:rescript@^12.0.0 -w" + }, + "imports": { + "rescript": "npm:rescript@^12.0.0", + "@rescript/core": "npm:@rescript/core@^1.6.0", + "commander": "npm:commander@^11.0.0", + "chalk": "npm:chalk@^5.0.0", + "ora": "npm:ora@^7.0.0", + "cli-table3": "npm:cli-table3@^0.6.0", + "fs-extra": "npm:fs-extra@^11.0.0" + }, + "nodeModulesDir": "auto" +} diff --git a/tools/cli/package.json b/tools/cli/package.json deleted file mode 100644 index 4c2236a..0000000 --- a/tools/cli/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "@accessibility-everywhere/cli", - "version": "1.0.0", - "description": "Command-line tool for accessibility scanning", - "main": "src/Cli.mjs", - "type": "module", - "bin": { - "a11y-scan": "src/Cli.mjs", - "accessibility-scan": "src/Cli.mjs" - }, - "scripts": { - "build": "rescript build", - "dev": "rescript build -w", - "clean": "rescript clean" - }, - "dependencies": { - "commander": "^11.1.0", - "chalk": "^5.3.0", - "ora": "^7.0.1", - "cli-table3": "^0.6.3", - "fs-extra": "^11.2.0" - }, - "devDependencies": { - "rescript": "^11.1.0", - "@rescript/core": "^1.5.0" - } -} diff --git a/tools/github-action/deno.json b/tools/github-action/deno.json new file mode 100644 index 0000000..0ba2b3b --- /dev/null +++ b/tools/github-action/deno.json @@ -0,0 +1,18 @@ +{ + "$schema": "https://deno.land/x/deno/cli/schemas/config-file.v1.json", + "name": "@accessibility-everywhere/github-action", + "version": "1.0.0", + "license": "MIT", + "tasks": { + "build": "deno run -A --node-modules-dir=auto npm:rescript@^12.0.0", + "clean": "deno run -A --node-modules-dir=auto npm:rescript@^12.0.0 clean", + "dev": "deno run -A --node-modules-dir=auto npm:rescript@^12.0.0 -w" + }, + "imports": { + "rescript": "npm:rescript@^12.0.0", + "@rescript/core": "npm:@rescript/core@^1.6.0", + "@actions/core": "npm:@actions/core@^1.10.0", + "@actions/github": "npm:@actions/github@^6.0.0" + }, + "nodeModulesDir": "auto" +} diff --git a/tools/github-action/package.json b/tools/github-action/package.json deleted file mode 100644 index 021326a..0000000 --- a/tools/github-action/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "@accessibility-everywhere/github-action", - "version": "1.0.0", - "description": "GitHub Action for automated accessibility testing", - "main": "src/Action.mjs", - "type": "module", - "scripts": { - "build": "rescript build", - "dev": "rescript build -w", - "clean": "rescript clean" - }, - "dependencies": { - "@actions/core": "^1.10.1", - "@actions/github": "^6.0.0" - }, - "devDependencies": { - "rescript": "^11.1.0", - "@rescript/core": "^1.5.0" - } -} diff --git a/tools/monitoring-api/deno.json b/tools/monitoring-api/deno.json new file mode 100644 index 0000000..dfa610c --- /dev/null +++ b/tools/monitoring-api/deno.json @@ -0,0 +1,25 @@ +{ + "$schema": "https://deno.land/x/deno/cli/schemas/config-file.v1.json", + "name": "@accessibility-everywhere/monitoring-api", + "version": "1.0.0", + "license": "MIT", + "tasks": { + "build": "deno run -A --node-modules-dir=auto npm:rescript@^12.0.0", + "clean": "deno run -A --node-modules-dir=auto npm:rescript@^12.0.0 clean", + "dev": "deno run -A --node-modules-dir=auto npm:rescript@^12.0.0 -w", + "start": "deno run --allow-net --allow-read --allow-env src/Index.mjs" + }, + "imports": { + "rescript": "npm:rescript@^12.0.0", + "@rescript/core": "npm:@rescript/core@^1.6.0", + "express": "npm:express@^4.18.0", + "cors": "npm:cors@^2.8.0", + "helmet": "npm:helmet@^7.0.0", + "express-rate-limit": "npm:express-rate-limit@^7.0.0", + "compression": "npm:compression@^1.7.0", + "dotenv": "npm:dotenv@^16.0.0", + "joi": "npm:joi@^17.0.0", + "uuid": "npm:uuid@^9.0.0" + }, + "nodeModulesDir": "auto" +} diff --git a/tools/monitoring-api/package.json b/tools/monitoring-api/package.json deleted file mode 100644 index 0cd4d25..0000000 --- a/tools/monitoring-api/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "@accessibility-everywhere/monitoring-api", - "version": "1.0.0", - "description": "Monitoring API for accessibility violation reporting and analytics", - "main": "src/Server.mjs", - "type": "module", - "scripts": { - "build": "rescript build", - "dev": "rescript build -w", - "start": "node src/Server.mjs", - "clean": "rescript clean" - }, - "dependencies": { - "express": "^4.18.2", - "cors": "^2.8.5", - "helmet": "^7.1.0", - "express-rate-limit": "^7.1.5", - "compression": "^1.7.4", - "dotenv": "^16.3.1", - "joi": "^17.11.0", - "uuid": "^14.0.0" - }, - "devDependencies": { - "rescript": "^11.1.0", - "@rescript/core": "^1.5.0" - } -} diff --git a/tools/safe-dom/deno.json b/tools/safe-dom/deno.json new file mode 100644 index 0000000..60663fb --- /dev/null +++ b/tools/safe-dom/deno.json @@ -0,0 +1,16 @@ +{ + "$schema": "https://deno.land/x/deno/cli/schemas/config-file.v1.json", + "name": "@accessibility-everywhere/safe-dom", + "version": "1.0.0", + "license": "MIT", + "tasks": { + "build": "deno run -A --node-modules-dir=auto npm:rescript@^12.0.0", + "clean": "deno run -A --node-modules-dir=auto npm:rescript@^12.0.0 clean", + "dev": "deno run -A --node-modules-dir=auto npm:rescript@^12.0.0 -w" + }, + "imports": { + "rescript": "npm:rescript@^12.0.0", + "@rescript/core": "npm:@rescript/core@^1.6.0" + }, + "nodeModulesDir": "auto" +} diff --git a/tools/safe-dom/package.json b/tools/safe-dom/package.json deleted file mode 100644 index a0fdf03..0000000 --- a/tools/safe-dom/package.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "@accessibility-everywhere/safe-dom", - "version": "0.1.0", - "description": "Minimal SafeDOM mounting primitives with proven-input wrappers", - "main": "src/SafeDOM.mjs", - "module": "src/SafeDOM.mjs", - "type": "module", - "scripts": { - "build": "rescript build", - "dev": "rescript build -w", - "clean": "rescript clean" - }, - "devDependencies": { - "rescript": "^11.1.0", - "@rescript/core": "^1.5.0" - } -} diff --git a/tools/stale/packages/core/deno.json b/tools/stale/packages/core/deno.json new file mode 100644 index 0000000..0a34cb1 --- /dev/null +++ b/tools/stale/packages/core/deno.json @@ -0,0 +1,18 @@ +{ + "$schema": "https://deno.land/x/deno/cli/schemas/config-file.v1.json", + "name": "@accessibility-everywhere/core", + "version": "1.0.0", + "license": "MIT", + "tasks": { + "build": "deno run -A --node-modules-dir=auto npm:rescript@^11.1.0", + "clean": "deno run -A --node-modules-dir=auto npm:rescript@^11.1.0 clean", + "dev": "deno run -A --node-modules-dir=auto npm:rescript@^11.1.0 -w" + }, + "imports": { + "rescript": "npm:rescript@^11.1.0", + "@rescript/core": "npm:@rescript/core@^1.5.0", + "arangojs": "npm:arangojs@^10.3.0", + "dotenv": "npm:dotenv@^16.0.0" + }, + "nodeModulesDir": "auto" +} diff --git a/tools/stale/packages/core/package.json b/tools/stale/packages/core/package.json deleted file mode 100644 index c44b8a0..0000000 --- a/tools/stale/packages/core/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "@accessibility-everywhere/core", - "version": "1.0.0", - "description": "Core functionality for accessibility scanning and database operations", - "main": "src/Index.mjs", - "type": "module", - "scripts": { - "build": "rescript build", - "dev": "rescript build -w", - "clean": "rescript clean" - }, - "dependencies": { - "arangojs": "^10.3.0", - "dotenv": "^16.3.1" - }, - "devDependencies": { - "rescript": "^11.1.0", - "@rescript/core": "^1.5.0" - } -} diff --git a/tools/stale/packages/scanner/deno.json b/tools/stale/packages/scanner/deno.json new file mode 100644 index 0000000..69e3793 --- /dev/null +++ b/tools/stale/packages/scanner/deno.json @@ -0,0 +1,19 @@ +{ + "$schema": "https://deno.land/x/deno/cli/schemas/config-file.v1.json", + "name": "@accessibility-everywhere/scanner", + "version": "1.0.0", + "license": "MIT", + "tasks": { + "build": "deno run -A --node-modules-dir=auto npm:rescript@^11.1.0", + "clean": "deno run -A --node-modules-dir=auto npm:rescript@^11.1.0 clean", + "dev": "deno run -A --node-modules-dir=auto npm:rescript@^11.1.0 -w" + }, + "imports": { + "rescript": "npm:rescript@^11.1.0", + "@rescript/core": "npm:@rescript/core@^1.5.0", + "axe-core": "npm:axe-core@^4.8.0", + "playwright": "npm:playwright@^1.40.0", + "puppeteer": "npm:puppeteer@^24.0.0" + }, + "nodeModulesDir": "auto" +} diff --git a/tools/stale/packages/scanner/package.json b/tools/stale/packages/scanner/package.json deleted file mode 100644 index f4f30e7..0000000 --- a/tools/stale/packages/scanner/package.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "@accessibility-everywhere/scanner", - "version": "1.0.0", - "description": "Accessibility scanner using axe-core for WCAG compliance checking", - "main": "src/Index.mjs", - "module": "src/Index.mjs", - "type": "module", - "scripts": { - "build": "rescript build", - "dev": "rescript build -w", - "clean": "rescript clean" - }, - "dependencies": { - "axe-core": "^4.8.2", - "playwright": "^1.40.0", - "puppeteer": "^24.31.0" - }, - "devDependencies": { - "rescript": "^11.1.0", - "@rescript/core": "^1.5.0" - } -}