Skip to content

Commit c55fe07

Browse files
feat(deno): migrate accessibility-everywhere tools/ (7/8 manifests, standards#253 longtail) (#49)
## Summary Workspace-style migration covering 7 of 8 npm manifests. The eighth (`tools/browser-extension/package.json`) is Class C — browser-extension packaging requires the npm-published `archiver` library at build time. Same Class C pattern as VSCode extensions / Office add-ins. ## Migrated | Manifest | Class | New | Imports | |---|---|---|---| | `/package.json` | workspace-root | extend `/deno.json` | `workspace` field with 6 ReScript tools; tasks orchestrate setup/build/test/docker | | `tools/safe-dom/package.json` | B | `tools/safe-dom/deno.json` | rescript@^12, @rescript/core@^1.6 | | `tools/cli/package.json` | B | `tools/cli/deno.json` | rescript, commander, chalk, ora, cli-table3, fs-extra | | `tools/github-action/package.json` | B | `tools/github-action/deno.json` | rescript, @actions/core, @actions/github | | `tools/monitoring-api/package.json` | B | `tools/monitoring-api/deno.json` | rescript, express, cors, helmet, express-rate-limit, compression, dotenv, joi, uuid | | `tools/stale/packages/core/package.json` | B | `tools/stale/packages/core/deno.json` | rescript@^11.1 (preserved), @rescript/core@^1.5, arangojs, dotenv | | `tools/stale/packages/scanner/package.json` | B | `tools/stale/packages/scanner/deno.json` | rescript@^11.1 (preserved), axe-core@^4.8, playwright, puppeteer | All Class B tools use `deno run -A --node-modules-dir=auto npm:rescript@^<version>` for build/clean/dev (rescript's install lifecycle requires resolvable node_modules). ## Deferred (Class C — host-required) - `tools/browser-extension/package.json` — depends on `archiver` (npm-only zip lib) for Chrome/Firefox packaging; `axe.min.js` is copy-source-pathed from `node_modules` at build time. Class C pattern (host-required npm scaffolding). Tracked as carve-out candidate for hypatia rule extension (per-repo follow-up). The root `build:browser-extension` task emits a documentation message instead of orchestrating, so `deno task build:browser-extension` does not silently fail. ## Test plan - [ ] `deno task build` chains cli + safe-dom + scanner builds - [ ] Each tool's `deno task build` produces equivalent .mjs/.bs.js output to prior bare `rescript` - [ ] `deno task setup` invokes the arangodb setup script Per per-repo follow-up tracker for standards#253 (campaign closed 2026-05-31, longtail tracked in `project_estate_npm_to_deno_2026_05_28.md`). Refs hyperpolymath/standards#253. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent c90b02b commit c55fe07

14 files changed

Lines changed: 146 additions & 171 deletions

File tree

deno.json

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,36 @@
11
{
2+
"$schema": "https://deno.land/x/deno/cli/schemas/config-file.v1.json",
3+
"name": "@hyperpolymath/accessibility-everywhere",
4+
"version": "1.0.0",
5+
"license": "MIT",
6+
"workspace": [
7+
"./tools/cli",
8+
"./tools/github-action",
9+
"./tools/monitoring-api",
10+
"./tools/safe-dom",
11+
"./tools/stale/packages/core",
12+
"./tools/stale/packages/scanner"
13+
],
214
"tasks": {
15+
"setup": "deno run --allow-read --allow-write --allow-net --allow-env scripts/setup-arangodb.js",
316
"dev": "deno run --watch mod.ts",
17+
"build": "deno task build:cli && deno task build:safe-dom && deno task build:scanner",
18+
"build:cli": "deno task --cwd tools/cli build",
19+
"build:safe-dom": "deno task --cwd tools/safe-dom build",
20+
"build:scanner": "deno task --cwd tools/stale/packages/scanner build",
21+
"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/.'",
422
"test": "deno test",
523
"lint": "deno lint",
6-
"fmt": "deno fmt"
24+
"fmt": "deno fmt",
25+
"docker:build": "docker compose build",
26+
"docker:up": "docker compose up -d",
27+
"docker:down": "docker compose down"
728
},
8-
"compilerOptions": { "strict": true }
29+
"compilerOptions": { "strict": true },
30+
"fmt": {
31+
"useTabs": false,
32+
"lineWidth": 100,
33+
"indentWidth": 2,
34+
"singleQuote": false
35+
}
936
}

package.json

Lines changed: 0 additions & 36 deletions
This file was deleted.

tools/cli/deno.json

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"$schema": "https://deno.land/x/deno/cli/schemas/config-file.v1.json",
3+
"name": "@accessibility-everywhere/cli",
4+
"version": "1.0.0",
5+
"license": "MIT",
6+
"tasks": {
7+
"build": "deno run -A --node-modules-dir=auto npm:rescript@^12.0.0",
8+
"clean": "deno run -A --node-modules-dir=auto npm:rescript@^12.0.0 clean",
9+
"dev": "deno run -A --node-modules-dir=auto npm:rescript@^12.0.0 -w"
10+
},
11+
"imports": {
12+
"rescript": "npm:rescript@^12.0.0",
13+
"@rescript/core": "npm:@rescript/core@^1.6.0",
14+
"commander": "npm:commander@^11.0.0",
15+
"chalk": "npm:chalk@^5.0.0",
16+
"ora": "npm:ora@^7.0.0",
17+
"cli-table3": "npm:cli-table3@^0.6.0",
18+
"fs-extra": "npm:fs-extra@^11.0.0"
19+
},
20+
"nodeModulesDir": "auto"
21+
}

tools/cli/package.json

Lines changed: 0 additions & 27 deletions
This file was deleted.

tools/github-action/deno.json

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"$schema": "https://deno.land/x/deno/cli/schemas/config-file.v1.json",
3+
"name": "@accessibility-everywhere/github-action",
4+
"version": "1.0.0",
5+
"license": "MIT",
6+
"tasks": {
7+
"build": "deno run -A --node-modules-dir=auto npm:rescript@^12.0.0",
8+
"clean": "deno run -A --node-modules-dir=auto npm:rescript@^12.0.0 clean",
9+
"dev": "deno run -A --node-modules-dir=auto npm:rescript@^12.0.0 -w"
10+
},
11+
"imports": {
12+
"rescript": "npm:rescript@^12.0.0",
13+
"@rescript/core": "npm:@rescript/core@^1.6.0",
14+
"@actions/core": "npm:@actions/core@^1.10.0",
15+
"@actions/github": "npm:@actions/github@^6.0.0"
16+
},
17+
"nodeModulesDir": "auto"
18+
}

tools/github-action/package.json

Lines changed: 0 additions & 20 deletions
This file was deleted.

tools/monitoring-api/deno.json

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"$schema": "https://deno.land/x/deno/cli/schemas/config-file.v1.json",
3+
"name": "@accessibility-everywhere/monitoring-api",
4+
"version": "1.0.0",
5+
"license": "MIT",
6+
"tasks": {
7+
"build": "deno run -A --node-modules-dir=auto npm:rescript@^12.0.0",
8+
"clean": "deno run -A --node-modules-dir=auto npm:rescript@^12.0.0 clean",
9+
"dev": "deno run -A --node-modules-dir=auto npm:rescript@^12.0.0 -w",
10+
"start": "deno run --allow-net --allow-read --allow-env src/Index.mjs"
11+
},
12+
"imports": {
13+
"rescript": "npm:rescript@^12.0.0",
14+
"@rescript/core": "npm:@rescript/core@^1.6.0",
15+
"express": "npm:express@^4.18.0",
16+
"cors": "npm:cors@^2.8.0",
17+
"helmet": "npm:helmet@^7.0.0",
18+
"express-rate-limit": "npm:express-rate-limit@^7.0.0",
19+
"compression": "npm:compression@^1.7.0",
20+
"dotenv": "npm:dotenv@^16.0.0",
21+
"joi": "npm:joi@^17.0.0",
22+
"uuid": "npm:uuid@^9.0.0"
23+
},
24+
"nodeModulesDir": "auto"
25+
}

tools/monitoring-api/package.json

Lines changed: 0 additions & 27 deletions
This file was deleted.

tools/safe-dom/deno.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"$schema": "https://deno.land/x/deno/cli/schemas/config-file.v1.json",
3+
"name": "@accessibility-everywhere/safe-dom",
4+
"version": "1.0.0",
5+
"license": "MIT",
6+
"tasks": {
7+
"build": "deno run -A --node-modules-dir=auto npm:rescript@^12.0.0",
8+
"clean": "deno run -A --node-modules-dir=auto npm:rescript@^12.0.0 clean",
9+
"dev": "deno run -A --node-modules-dir=auto npm:rescript@^12.0.0 -w"
10+
},
11+
"imports": {
12+
"rescript": "npm:rescript@^12.0.0",
13+
"@rescript/core": "npm:@rescript/core@^1.6.0"
14+
},
15+
"nodeModulesDir": "auto"
16+
}

tools/safe-dom/package.json

Lines changed: 0 additions & 17 deletions
This file was deleted.

0 commit comments

Comments
 (0)