a collection of lightweight TypeScript packages for AT Protocol, the protocol powering Bluesky
atproto bluesky typescript npm
101
fork

Configure Feed

Select the types of activity you want to include in your feed.

chore: typecheck tests at build time

drop the per-package tsconfig.build.json files and let `tsgo` use the
default `tsconfig.json` (which already includes test and bench files).
this surfaces test/bench type errors at build time instead of letting
them rot silently. fixes the type errors that surfaced once the unified
build started seeing them: stale imports in the richtext-segmenter
bench, `number[]` buffers in the varint tests, internal-only car
helpers in the repo tests, and overbroad `unknown`/`Did` types in the
xrpc-server jwt-verifier tests.

publish artifacts are unchanged: every package now also excludes
`!dist/**/*.{test,bench}.*` via `package.json#files` so the compiled
test/bench output never ships.

Mary 3b3dd256 fc46ca74

+194 -305
+3 -2
packages/bluesky/moderation/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "sideEffects": false, ··· 22 23 "access": "public" 23 24 }, 24 25 "scripts": { 25 - "build": "tsgo --project tsconfig.build.json", 26 + "build": "tsgo", 26 27 "test": "vitest", 27 28 "prepublish": "rm -rf dist; pnpm run build" 28 29 },
-5
packages/bluesky/moderation/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "include": ["lib"], 4 - "exclude": ["**/*.test.ts"] 5 - }
+3 -2
packages/bluesky/richtext-builder/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "sideEffects": false, ··· 22 23 "access": "public" 23 24 }, 24 25 "scripts": { 25 - "build": "tsgo --project tsconfig.build.json", 26 + "build": "tsgo", 26 27 "prepublish": "rm -rf dist; pnpm run build" 27 28 }, 28 29 "dependencies": {
-4
packages/bluesky/richtext-builder/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+3 -2
packages/bluesky/richtext-parser/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "sideEffects": false, ··· 22 23 "access": "public" 23 24 }, 24 25 "scripts": { 25 - "build": "tsgo --project tsconfig.build.json", 26 + "build": "tsgo", 26 27 "test": "vitest", 27 28 "prepublish": "rm -rf dist; pnpm run build" 28 29 },
-4
packages/bluesky/richtext-parser/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+1 -2
packages/bluesky/richtext-segmenter/lib/index.bench.ts
··· 1 - import type { AppBskyRichtextFacet } from '@atcute/client/lexicons'; 2 - import '@atcute/bluesky/lexicons'; 1 + import type { AppBskyRichtextFacet } from '@atcute/bluesky'; 3 2 import { bench, run } from 'mitata'; 4 3 5 4 import { segmentize } from './index.ts';
+3 -2
packages/bluesky/richtext-segmenter/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "sideEffects": false, ··· 22 23 "access": "public" 23 24 }, 24 25 "scripts": { 25 - "build": "tsgo --project tsconfig.build.json", 26 + "build": "tsgo", 26 27 "test": "vitest", 27 28 "prepublish": "rm -rf dist; pnpm run build" 28 29 },
-4
packages/bluesky/richtext-segmenter/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts", "**/*.bench.ts"] 4 - }
+3 -2
packages/bluesky/search-parser/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "sideEffects": false, ··· 22 23 "access": "public" 23 24 }, 24 25 "scripts": { 25 - "build": "tsgo --project tsconfig.build.json", 26 + "build": "tsgo", 26 27 "test": "vitest", 27 28 "prepublish": "rm -rf dist; pnpm run build" 28 29 },
-4
packages/bluesky/search-parser/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+3 -2
packages/bluesky/threading/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "sideEffects": false, ··· 22 23 "access": "public" 23 24 }, 24 25 "scripts": { 25 - "build": "tsgo --project tsconfig.build.json", 26 + "build": "tsgo", 26 27 "prepublish": "rm -rf dist; pnpm run build" 27 28 }, 28 29 "dependencies": {
-4
packages/bluesky/threading/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+3 -2
packages/clients/cache/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "exports": { ··· 21 22 "access": "public" 22 23 }, 23 24 "scripts": { 24 - "build": "tsgo --project tsconfig.build.json", 25 + "build": "tsgo", 25 26 "test": "vitest run", 26 27 "prepublish": "rm -rf dist; pnpm run build" 27 28 },
-4
packages/clients/cache/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+3 -2
packages/clients/client/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "exports": { ··· 21 22 "access": "public" 22 23 }, 23 24 "scripts": { 24 - "build": "tsgo --project tsconfig.build.json", 25 + "build": "tsgo", 25 26 "postbuild": "node ./scripts/ensure-files.js", 26 27 "test": "vitest run --coverage", 27 28 "prepublish": "rm -rf dist; pnpm run build"
-4
packages/clients/client/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+3 -2
packages/clients/firehose/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "exports": { ··· 21 22 "access": "public" 22 23 }, 23 24 "scripts": { 24 - "build": "tsgo --project tsconfig.build.json", 25 + "build": "tsgo", 25 26 "prepublish": "rm -rf dist; pnpm run build" 26 27 }, 27 28 "dependencies": {
-4
packages/clients/firehose/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+3 -2
packages/clients/jetstream/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "exports": { ··· 21 22 "access": "public" 22 23 }, 23 24 "scripts": { 24 - "build": "tsgo --project tsconfig.build.json", 25 + "build": "tsgo", 25 26 "prepublish": "rm -rf dist; pnpm run build" 26 27 }, 27 28 "dependencies": {
-4
packages/clients/jetstream/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+3 -2
packages/clients/password-session/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "exports": { ··· 21 22 "access": "public" 22 23 }, 23 24 "scripts": { 24 - "build": "tsgo --project tsconfig.build.json", 25 + "build": "tsgo", 25 26 "test": "vitest run", 26 27 "prepublish": "rm -rf dist; pnpm run build" 27 28 },
-4
packages/clients/password-session/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+3 -2
packages/clients/tap/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "exports": { ··· 21 22 "access": "public" 22 23 }, 23 24 "scripts": { 24 - "build": "tsgo --project tsconfig.build.json", 25 + "build": "tsgo", 25 26 "test": "vitest run", 26 27 "prepublish": "rm -rf dist; pnpm run build" 27 28 },
-4
packages/clients/tap/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+2 -1
packages/definitions/atproto/package.json
··· 15 15 "dist/", 16 16 "lib/", 17 17 "!lib/**/*.bench.ts", 18 - "!lib/**/*.test.ts" 18 + "!lib/**/*.test.ts", 19 + "!dist/**/*.{test,bench}.*" 19 20 ], 20 21 "type": "module", 21 22 "exports": {
+2 -1
packages/definitions/bluemoji/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "exports": {
+3 -2
packages/definitions/bluesky/package.json
··· 16 16 "dist/", 17 17 "lib/", 18 18 "!lib/**/*.bench.ts", 19 - "!lib/**/*.test.ts" 19 + "!lib/**/*.test.ts", 20 + "!dist/**/*.{test,bench}.*" 20 21 ], 21 22 "type": "module", 22 23 "exports": { ··· 29 30 "access": "public" 30 31 }, 31 32 "scripts": { 32 - "build": "tsgo --project tsconfig.build.json", 33 + "build": "tsgo", 33 34 "pull": "lex-cli pull", 34 35 "test": "vitest", 35 36 "generate": "pnpm run generate:lexicons; pnpm run generate:limits",
-4
packages/definitions/bluesky/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts", "**/*.bench.ts"] 4 - }
+2 -1
packages/definitions/frontpage/package.json
··· 16 16 "dist/", 17 17 "lib/", 18 18 "!lib/**/*.bench.ts", 19 - "!lib/**/*.test.ts" 19 + "!lib/**/*.test.ts", 20 + "!dist/**/*.{test,bench}.*" 20 21 ], 21 22 "type": "module", 22 23 "exports": {
+2 -1
packages/definitions/leaflet/package.json
··· 16 16 "dist/", 17 17 "lib/", 18 18 "!lib/**/*.bench.ts", 19 - "!lib/**/*.test.ts" 19 + "!lib/**/*.test.ts", 20 + "!dist/**/*.{test,bench}.*" 20 21 ], 21 22 "type": "module", 22 23 "exports": {
+2 -1
packages/definitions/lexicon-community/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "exports": {
+2 -1
packages/definitions/microcosm/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "exports": {
+2 -1
packages/definitions/ozone/package.json
··· 17 17 "dist/", 18 18 "lib/", 19 19 "!lib/**/*.bench.ts", 20 - "!lib/**/*.test.ts" 20 + "!lib/**/*.test.ts", 21 + "!dist/**/*.{test,bench}.*" 21 22 ], 22 23 "type": "module", 23 24 "exports": {
+2 -1
packages/definitions/pckt/package.json
··· 16 16 "dist/", 17 17 "lib/", 18 18 "!lib/**/*.bench.ts", 19 - "!lib/**/*.test.ts" 19 + "!lib/**/*.test.ts", 20 + "!dist/**/*.{test,bench}.*" 20 21 ], 21 22 "type": "module", 22 23 "exports": {
+2 -1
packages/definitions/standard-site/package.json
··· 16 16 "dist/", 17 17 "lib/", 18 18 "!lib/**/*.bench.ts", 19 - "!lib/**/*.test.ts" 19 + "!lib/**/*.test.ts", 20 + "!dist/**/*.{test,bench}.*" 20 21 ], 21 22 "type": "module", 22 23 "exports": {
+2 -1
packages/definitions/tangled/package.json
··· 16 16 "dist/", 17 17 "lib/", 18 18 "!lib/**/*.bench.ts", 19 - "!lib/**/*.test.ts" 19 + "!lib/**/*.test.ts", 20 + "!dist/**/*.{test,bench}.*" 20 21 ], 21 22 "type": "module", 22 23 "exports": {
+2 -1
packages/definitions/whitewind/package.json
··· 16 16 "dist/", 17 17 "lib/", 18 18 "!lib/**/*.bench.ts", 19 - "!lib/**/*.test.ts" 19 + "!lib/**/*.test.ts", 20 + "!dist/**/*.{test,bench}.*" 20 21 ], 21 22 "type": "module", 22 23 "exports": {
+3 -2
packages/identity/did-plc/package.json
··· 16 16 "dist/", 17 17 "lib/", 18 18 "!lib/**/*.bench.ts", 19 - "!lib/**/*.test.ts" 19 + "!lib/**/*.test.ts", 20 + "!dist/**/*.{test,bench}.*" 20 21 ], 21 22 "type": "module", 22 23 "sideEffects": false, ··· 27 28 "access": "public" 28 29 }, 29 30 "scripts": { 30 - "build": "tsgo --project tsconfig.build.json", 31 + "build": "tsgo", 31 32 "test": "vitest", 32 33 "prepublish": "rm -rf dist; pnpm run build" 33 34 },
-4
packages/identity/did-plc/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+3 -2
packages/identity/identity-resolver-node/package.json
··· 15 15 "dist/", 16 16 "lib/", 17 17 "!lib/**/*.bench.ts", 18 - "!lib/**/*.test.ts" 18 + "!lib/**/*.test.ts", 19 + "!dist/**/*.{test,bench}.*" 19 20 ], 20 21 "type": "module", 21 22 "sideEffects": false, ··· 26 27 "access": "public" 27 28 }, 28 29 "scripts": { 29 - "build": "tsgo --project tsconfig.build.json", 30 + "build": "tsgo", 30 31 "prepublish": "rm -rf dist; pnpm run build" 31 32 }, 32 33 "dependencies": {
-4
packages/identity/identity-resolver-node/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+3 -2
packages/identity/identity-resolver/package.json
··· 15 15 "dist/", 16 16 "lib/", 17 17 "!lib/**/*.bench.ts", 18 - "!lib/**/*.test.ts" 18 + "!lib/**/*.test.ts", 19 + "!dist/**/*.{test,bench}.*" 19 20 ], 20 21 "type": "module", 21 22 "sideEffects": false, ··· 26 27 "access": "public" 27 28 }, 28 29 "scripts": { 29 - "build": "tsgo --project tsconfig.build.json", 30 + "build": "tsgo", 30 31 "test": "vitest run --coverage", 31 32 "prepublish": "rm -rf dist; pnpm run build" 32 33 },
-4
packages/identity/identity-resolver/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+3 -2
packages/identity/identity/package.json
··· 15 15 "dist/", 16 16 "lib/", 17 17 "!lib/**/*.bench.ts", 18 - "!lib/**/*.test.ts" 18 + "!lib/**/*.test.ts", 19 + "!dist/**/*.{test,bench}.*" 19 20 ], 20 21 "type": "module", 21 22 "sideEffects": false, ··· 26 27 "access": "public" 27 28 }, 28 29 "scripts": { 29 - "build": "tsgo --project tsconfig.build.json", 30 + "build": "tsgo", 30 31 "test": "vitest", 31 32 "prepublish": "rm -rf dist; pnpm run build" 32 33 },
-4
packages/identity/identity/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+3 -2
packages/lexicons/lexicon-doc/package.json
··· 12 12 "lib/", 13 13 "schema/", 14 14 "!lib/**/*.bench.ts", 15 - "!lib/**/*.test.ts" 15 + "!lib/**/*.test.ts", 16 + "!dist/**/*.{test,bench}.*" 16 17 ], 17 18 "type": "module", 18 19 "sideEffects": false, ··· 25 26 "access": "public" 26 27 }, 27 28 "scripts": { 28 - "build": "pnpm run generate:schema && tsgo --project tsconfig.build.json", 29 + "build": "pnpm run generate:schema && tsgo", 29 30 "generate:schema": "node scripts/generate-schema.js", 30 31 "test": "vitest --coverage", 31 32 "prepublish": "rm -rf dist; pnpm run build"
-4
packages/lexicons/lexicon-doc/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+3 -2
packages/lexicons/lexicon-resolver-node/package.json
··· 16 16 "dist/", 17 17 "lib/", 18 18 "!lib/**/*.bench.ts", 19 - "!lib/**/*.test.ts" 19 + "!lib/**/*.test.ts", 20 + "!dist/**/*.{test,bench}.*" 20 21 ], 21 22 "type": "module", 22 23 "sideEffects": false, ··· 27 28 "access": "public" 28 29 }, 29 30 "scripts": { 30 - "build": "tsgo --project tsconfig.build.json", 31 + "build": "tsgo", 31 32 "prepublish": "rm -rf dist; pnpm run build" 32 33 }, 33 34 "dependencies": {
-4
packages/lexicons/lexicon-resolver-node/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+3 -2
packages/lexicons/lexicon-resolver/package.json
··· 16 16 "dist/", 17 17 "lib/", 18 18 "!lib/**/*.bench.ts", 19 - "!lib/**/*.test.ts" 19 + "!lib/**/*.test.ts", 20 + "!dist/**/*.{test,bench}.*" 20 21 ], 21 22 "type": "module", 22 23 "sideEffects": false, ··· 27 28 "access": "public" 28 29 }, 29 30 "scripts": { 30 - "build": "tsgo --project tsconfig.build.json", 31 + "build": "tsgo", 31 32 "test": "vitest", 32 33 "prepublish": "rm -rf dist; pnpm run build" 33 34 },
-4
packages/lexicons/lexicon-resolver/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+3 -2
packages/lexicons/lexicons/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "sideEffects": false, ··· 26 27 "access": "public" 27 28 }, 28 29 "scripts": { 29 - "build": "tsgo --project tsconfig.build.json", 30 + "build": "tsgo", 30 31 "test": "vitest --coverage", 31 32 "prepublish": "rm -rf dist; pnpm run build" 32 33 },
-4
packages/lexicons/lexicons/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+3 -2
packages/misc/time-ms/package.json
··· 13 13 "prebuilds/**/*.node", 14 14 "src/", 15 15 "!lib/**/*.bench.ts", 16 - "!lib/**/*.test.ts" 16 + "!lib/**/*.test.ts", 17 + "!dist/**/*.{test,bench}.*" 17 18 ], 18 19 "type": "module", 19 20 "sideEffects": false, ··· 28 29 }, 29 30 "scripts": { 30 31 "build:native": "node build.native.js", 31 - "build": "tsgo --project tsconfig.build.json", 32 + "build": "tsgo", 32 33 "prepublish": "rm -rf dist; pnpm run build:native; pnpm run build" 33 34 }, 34 35 "devDependencies": {
-4
packages/misc/time-ms/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+3 -2
packages/misc/uint8array/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "sideEffects": false, ··· 26 27 "access": "public" 27 28 }, 28 29 "scripts": { 29 - "build": "tsgo --project tsconfig.build.json", 30 + "build": "tsgo", 30 31 "prepublish": "rm -rf dist; pnpm run build" 31 32 }, 32 33 "devDependencies": {
-4
packages/misc/uint8array/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+3 -2
packages/misc/util-fetch/package.json
··· 15 15 "dist/", 16 16 "lib/", 17 17 "!lib/**/*.bench.ts", 18 - "!lib/**/*.test.ts" 18 + "!lib/**/*.test.ts", 19 + "!dist/**/*.{test,bench}.*" 19 20 ], 20 21 "type": "module", 21 22 "sideEffects": false, ··· 26 27 "access": "public" 27 28 }, 28 29 "scripts": { 29 - "build": "tsgo --project tsconfig.build.json", 30 + "build": "tsgo", 30 31 "prepublish": "rm -rf dist; pnpm run build" 31 32 }, 32 33 "dependencies": {
-4
packages/misc/util-fetch/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+3 -2
packages/misc/util-text/package.json
··· 13 13 "!dist/**/*.test.js", 14 14 "lib/", 15 15 "!lib/**/*.bench.ts", 16 - "!lib/**/*.test.ts" 16 + "!lib/**/*.test.ts", 17 + "!dist/**/*.{test,bench}.*" 17 18 ], 18 19 "type": "module", 19 20 "sideEffects": false, ··· 28 29 }, 29 30 "scripts": { 30 31 "build:native": "node build.native.js", 31 - "build": "tsgo --project tsconfig.build.json", 32 + "build": "tsgo", 32 33 "test": "vitest", 33 34 "prepublish": "rm -rf dist; pnpm run build" 34 35 },
-4
packages/misc/util-text/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+3 -2
packages/oauth/browser-client/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "sideEffects": false, ··· 22 23 "access": "public" 23 24 }, 24 25 "scripts": { 25 - "build": "tsgo --project tsconfig.build.json", 26 + "build": "tsgo", 26 27 "prepublish": "rm -rf dist; pnpm run build" 27 28 }, 28 29 "dependencies": {
-4
packages/oauth/browser-client/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+3 -2
packages/oauth/crypto/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "sideEffects": false, ··· 22 23 "access": "public" 23 24 }, 24 25 "scripts": { 25 - "build": "tsgo --project tsconfig.build.json", 26 + "build": "tsgo", 26 27 "test": "vitest", 27 28 "prepublish": "rm -rf dist; pnpm run build" 28 29 },
-4
packages/oauth/crypto/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["lib/**/*.test.ts", "lib/**/*.bench.ts"] 4 - }
+3 -2
packages/oauth/keyset/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "sideEffects": false, ··· 22 23 "access": "public" 23 24 }, 24 25 "scripts": { 25 - "build": "tsgo --project tsconfig.build.json", 26 + "build": "tsgo", 26 27 "prepublish": "rm -rf dist; pnpm run build" 27 28 }, 28 29 "dependencies": {
-4
packages/oauth/keyset/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["lib/**/*.test.ts", "lib/**/*.bench.ts"] 4 - }
+3 -2
packages/oauth/node-client/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "sideEffects": false, ··· 22 23 "access": "public" 23 24 }, 24 25 "scripts": { 25 - "build": "tsgo --project tsconfig.build.json", 26 + "build": "tsgo", 26 27 "test": "vitest", 27 28 "prepublish": "rm -rf dist; pnpm run build" 28 29 },
-4
packages/oauth/node-client/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+3 -2
packages/oauth/types/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "sideEffects": false, ··· 22 23 "access": "public" 23 24 }, 24 25 "scripts": { 25 - "build": "tsgo --project tsconfig.build.json", 26 + "build": "tsgo", 26 27 "test": "vitest", 27 28 "prepublish": "rm -rf dist; pnpm run build" 28 29 },
-4
packages/oauth/types/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["lib/**/*.test.ts", "lib/**/*.bench.ts"] 4 - }
+3 -2
packages/servers/labeler/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "exports": { ··· 21 22 "access": "public" 22 23 }, 23 24 "scripts": { 24 - "build": "tsgo --project tsconfig.build.json", 25 + "build": "tsgo", 25 26 "test": "vitest --coverage", 26 27 "prepublish": "rm -rf dist; pnpm run build" 27 28 },
-4
packages/servers/labeler/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+3 -2
packages/servers/xrpc-server-bun/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "exports": { ··· 21 22 "access": "public" 22 23 }, 23 24 "scripts": { 24 - "build": "tsgo --project tsconfig.build.json", 25 + "build": "tsgo", 25 26 "test": "bun test", 26 27 "prepublish": "rm -rf dist; pnpm run build" 27 28 },
-4
packages/servers/xrpc-server-bun/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts", "**/*.bench.ts"] 4 - }
+3 -2
packages/servers/xrpc-server-cloudflare/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "exports": { ··· 21 22 "access": "public" 22 23 }, 23 24 "scripts": { 24 - "build": "tsgo --project tsconfig.build.json", 25 + "build": "tsgo", 25 26 "prepublish": "rm -rf dist; pnpm run build" 26 27 }, 27 28 "devDependencies": {
-4
packages/servers/xrpc-server-cloudflare/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts", "**/*.bench.ts"] 4 - }
+3 -2
packages/servers/xrpc-server-deno/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "exports": { ··· 21 22 "access": "public" 22 23 }, 23 24 "scripts": { 24 - "build": "tsgo --project tsconfig.build.json", 25 + "build": "tsgo", 25 26 "prepublish": "rm -rf dist; pnpm run build" 26 27 }, 27 28 "devDependencies": {
-4
packages/servers/xrpc-server-deno/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts", "**/*.bench.ts"] 4 - }
+3 -2
packages/servers/xrpc-server-node/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "exports": { ··· 21 22 "access": "public" 22 23 }, 23 24 "scripts": { 24 - "build": "tsgo --project tsconfig.build.json", 25 + "build": "tsgo", 25 26 "test": "vitest run", 26 27 "prepublish": "rm -rf dist; pnpm run build" 27 28 },
-4
packages/servers/xrpc-server-node/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts", "**/*.bench.ts"] 4 - }
+17 -7
packages/servers/xrpc-server/lib/auth/jwt-verifier.test.ts
··· 35 35 }; 36 36 37 37 const expectAuthError = async (promise: Promise<unknown>, code: string): Promise<AuthRequiredError> => { 38 - await expect(promise).rejects.toBeInstanceOf(AuthRequiredError); 39 - const err = await promise.catch((e) => e as AuthRequiredError); 40 - expect(err.headers).toBeInstanceOf(Headers); 41 - const headerValue = (err.headers as Headers).get('www-authenticate'); 42 - expect(headerValue).toContain(`error="${code}"`); 43 - return err; 38 + let caught: unknown; 39 + try { 40 + await promise; 41 + } catch (e) { 42 + caught = e; 43 + } 44 + 45 + if (!(caught instanceof AuthRequiredError)) { 46 + throw new Error(`expected AuthRequiredError, got ${caught}`); 47 + } 48 + if (!(caught.headers instanceof Headers)) { 49 + throw new Error(`expected Headers, got ${caught.headers}`); 50 + } 51 + 52 + expect(caught.headers.get('www-authenticate')).toContain(`error="${code}"`); 53 + return caught; 44 54 }; 45 55 46 56 describe('ServiceJwtVerifier', () => { 47 57 const issuerDid: Did = 'did:web:issuer.example.com'; 48 - const audienceDid: Did = 'did:web:audience.example.com'; 58 + const audienceDid = 'did:web:audience.example.com' satisfies Did; 49 59 const audienceRef: AtprotoAudience = `${audienceDid}#svc`; 50 60 const lxm: Nsid = 'com.example.method'; 51 61
+3 -2
packages/servers/xrpc-server/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "exports": { ··· 23 24 "access": "public" 24 25 }, 25 26 "scripts": { 26 - "build": "tsgo --project tsconfig.build.json", 27 + "build": "tsgo", 27 28 "test": "vitest --coverage", 28 29 "prepublish": "rm -rf dist; pnpm run build" 29 30 },
-4
packages/servers/xrpc-server/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+3 -2
packages/utilities/car/package.json
··· 16 16 "dist/", 17 17 "lib/", 18 18 "!lib/**/*.bench.ts", 19 - "!lib/**/*.test.ts" 19 + "!lib/**/*.test.ts", 20 + "!dist/**/*.{test,bench}.*" 20 21 ], 21 22 "type": "module", 22 23 "sideEffects": false, ··· 27 28 "access": "public" 28 29 }, 29 30 "scripts": { 30 - "build": "tsgo --project tsconfig.build.json", 31 + "build": "tsgo", 31 32 "test": "vitest --coverage", 32 33 "prepublish": "rm -rf dist; pnpm run build" 33 34 },
-4
packages/utilities/car/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts", "**/*.bench.ts"] 4 - }
+3 -2
packages/utilities/cbor/package.json
··· 16 16 "dist/", 17 17 "lib/", 18 18 "!lib/**/*.bench.ts", 19 - "!lib/**/*.test.ts" 19 + "!lib/**/*.test.ts", 20 + "!dist/**/*.{test,bench}.*" 20 21 ], 21 22 "type": "module", 22 23 "sideEffects": false, ··· 35 36 "access": "public" 36 37 }, 37 38 "scripts": { 38 - "build": "tsgo --project tsconfig.build.json", 39 + "build": "tsgo", 39 40 "test": "vitest", 40 41 "prepublish": "rm -rf dist; pnpm run build" 41 42 },
-4
packages/utilities/cbor/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts", "**/*.bench.ts"] 4 - }
+3 -2
packages/utilities/cid/package.json
··· 16 16 "dist/", 17 17 "lib/", 18 18 "!lib/**/*.bench.ts", 19 - "!lib/**/*.test.ts" 19 + "!lib/**/*.test.ts", 20 + "!dist/**/*.{test,bench}.*" 20 21 ], 21 22 "type": "module", 22 23 "sideEffects": false, ··· 28 29 "access": "public" 29 30 }, 30 31 "scripts": { 31 - "build": "tsgo --project tsconfig.build.json", 32 + "build": "tsgo", 32 33 "test": "vitest", 33 34 "prepublish": "rm -rf dist; pnpm run build" 34 35 },
-4
packages/utilities/cid/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+3 -2
packages/utilities/crypto/package.json
··· 19 19 "dist/", 20 20 "lib/", 21 21 "!lib/**/*.bench.ts", 22 - "!lib/**/*.test.ts" 22 + "!lib/**/*.test.ts", 23 + "!dist/**/*.{test,bench}.*" 23 24 ], 24 25 "type": "module", 25 26 "sideEffects": false, ··· 38 39 "access": "public" 39 40 }, 40 41 "scripts": { 41 - "build": "tsgo --project tsconfig.build.json", 42 + "build": "tsgo", 42 43 "test": "vitest", 43 44 "prepublish": "rm -rf dist; pnpm run build" 44 45 },
-4
packages/utilities/crypto/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+3 -2
packages/utilities/mst/package.json
··· 16 16 "dist/", 17 17 "lib/", 18 18 "!lib/**/*.bench.ts", 19 - "!lib/**/*.test.ts" 19 + "!lib/**/*.test.ts", 20 + "!dist/**/*.{test,bench}.*" 20 21 ], 21 22 "type": "module", 22 23 "sideEffects": false, ··· 28 29 }, 29 30 "scripts": { 30 31 "generate-tests": "cd mst-test-suite && mise exec -- uv run python scripts/generate_exhaustive_cars.py", 31 - "build": "tsgo --project tsconfig.build.json", 32 + "build": "tsgo", 32 33 "test": "vitest run", 33 34 "prepublish": "rm -rf dist; pnpm run build" 34 35 },
-4
packages/utilities/mst/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+3 -2
packages/utilities/multibase/package.json
··· 13 13 "prebuilds/**/*.node", 14 14 "src/", 15 15 "!lib/**/*.bench.ts", 16 - "!lib/**/*.test.ts" 16 + "!lib/**/*.test.ts", 17 + "!dist/**/*.{test,bench}.*" 17 18 ], 18 19 "type": "module", 19 20 "sideEffects": false, ··· 47 48 }, 48 49 "scripts": { 49 50 "build:native": "node build.native.js", 50 - "build": "tsgo --project tsconfig.build.json", 51 + "build": "tsgo", 51 52 "test": "vitest", 52 53 "prepublish": "rm -rf dist; pnpm run build:native; pnpm run build" 53 54 },
-4
packages/utilities/multibase/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+12 -8
packages/utilities/repo/lib/index.test.ts
··· 1 - import { serializeCarEntry, serializeCarHeader } from '@atcute/car'; 1 + import { writeCarStream } from '@atcute/car'; 2 2 import * as CBOR from '@atcute/cbor'; 3 3 import { toBytes } from '@atcute/cbor'; 4 4 import * as CID from '@atcute/cid'; ··· 18 18 * the same record CID. 19 19 */ 20 20 const buildDuplicateCidCar = async (): Promise<{ 21 - car: Uint8Array; 21 + car: Uint8Array<ArrayBuffer>; 22 22 recordCid: string; 23 23 record: unknown; 24 24 keys: [string, string]; ··· 46 46 const commitCid = await CID.create(0x71, commitBytes); 47 47 const commitLink = toCidLink(commitCid); 48 48 49 - const chunks = [ 50 - serializeCarHeader([commitLink]), 51 - serializeCarEntry(commitCid.bytes, commitBytes), 52 - serializeCarEntry(nodeCid.bytes, nodeBytes), 53 - serializeCarEntry(recordCid.bytes, recordBytes), 54 - ]; 49 + const chunks = await Array.fromAsync( 50 + writeCarStream( 51 + [commitLink], 52 + [ 53 + { cid: commitCid.bytes, data: commitBytes }, 54 + { cid: nodeCid.bytes, data: nodeBytes }, 55 + { cid: recordCid.bytes, data: recordBytes }, 56 + ], 57 + ), 58 + ); 55 59 56 60 return { 57 61 car: concat(chunks),
+3 -2
packages/utilities/repo/package.json
··· 15 15 "dist/", 16 16 "lib/", 17 17 "!lib/**/*.bench.ts", 18 - "!lib/**/*.test.ts" 18 + "!lib/**/*.test.ts", 19 + "!dist/**/*.{test,bench}.*" 19 20 ], 20 21 "type": "module", 21 22 "sideEffects": false, ··· 26 27 "access": "public" 27 28 }, 28 29 "scripts": { 29 - "build": "tsgo --project tsconfig.build.json", 30 + "build": "tsgo", 30 31 "test": "vitest run --coverage", 31 32 "prepublish": "rm -rf dist; pnpm run build" 32 33 },
-4
packages/utilities/repo/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+3 -2
packages/utilities/tid/package.json
··· 15 15 "dist/", 16 16 "lib/", 17 17 "!lib/**/*.bench.ts", 18 - "!lib/**/*.test.ts" 18 + "!lib/**/*.test.ts", 19 + "!dist/**/*.{test,bench}.*" 19 20 ], 20 21 "type": "module", 21 22 "sideEffects": false, ··· 32 33 "access": "public" 33 34 }, 34 35 "scripts": { 35 - "build": "tsgo --project tsconfig.build.json", 36 + "build": "tsgo", 36 37 "test": "vitest", 37 38 "prepublish": "rm -rf dist; pnpm run build" 38 39 },
-4
packages/utilities/tid/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }
+7 -6
packages/utilities/varint/lib/index.test.ts
··· 10 10 for (let i = 0; i < 500; ++i) { 11 11 const expected = randint(0x7fffffff); 12 12 13 - const encoded: number[] = []; 13 + const encoded = new Uint8Array(10); 14 14 const encodedLength = encode(expected, encoded); 15 15 16 16 const { value, nextOffset } = decode(encoded); ··· 22 22 23 23 describe('encode', () => { 24 24 it('throws on very large numbers', () => { 25 - expect(() => encode(2 ** 54 - 1, [])).toThrow(); 25 + expect(() => encode(2 ** 54 - 1, new Uint8Array(10))).toThrow(); 26 26 }); 27 27 }); 28 28 29 29 describe('decode', () => { 30 30 it('supports decoding at offset', () => { 31 - const encoded: number[] = [255, 255, 255]; 31 + const encoded = new Uint8Array([255, 255, 255]); 32 32 const written = encode(420, encoded, 1); 33 33 34 34 const { value, nextOffset } = decode(encoded, 1); ··· 38 38 }); 39 39 40 40 it('respects length', () => { 41 - const encoded: number[] = []; 41 + const encoded = new Uint8Array(10); 42 42 encode(16384, encoded); 43 43 44 - expect(() => decode(encoded, 0, 2)).toThrow(); 44 + expect(() => decode(encoded.subarray(0, 2), 0)).toThrow(); 45 45 expect(decode(encoded, 0, 3)).toEqual({ value: 16384, nextOffset: 3 }); 46 46 }); 47 47 }); 48 48 49 49 describe('encodingLength', () => { 50 50 it('matches encode() outputs', () => { 51 + const buf = new Uint8Array(10); 51 52 for (let i = 0; i <= 53; i++) { 52 53 let n = 2 ** i - 1; 53 54 54 - expect(encodingLength(n)).toBe(encode(n, [])); 55 + expect(encodingLength(n)).toBe(encode(n, buf)); 55 56 } 56 57 }); 57 58 });
+3 -2
packages/utilities/varint/package.json
··· 11 11 "dist/", 12 12 "lib/", 13 13 "!lib/**/*.bench.ts", 14 - "!lib/**/*.test.ts" 14 + "!lib/**/*.test.ts", 15 + "!dist/**/*.{test,bench}.*" 15 16 ], 16 17 "type": "module", 17 18 "sideEffects": false, ··· 22 23 "access": "public" 23 24 }, 24 25 "scripts": { 25 - "build": "tsgo --project tsconfig.build.json", 26 + "build": "tsgo", 26 27 "test": "vitest", 27 28 "prepublish": "rm -rf dist; pnpm run build" 28 29 },
-4
packages/utilities/varint/tsconfig.build.json
··· 1 - { 2 - "extends": "./tsconfig.json", 3 - "exclude": ["**/*.test.ts"] 4 - }