{
	"name": "micro509",
	"version": "0.14.0",
	"description": "The zero-dependency TypeScript PKI toolkit for real certificate workflows.",
	"keywords": ["x509", "certificate", "csr", "pem", "der", "jwk", "importmapify"],
	"homepage": "https://micro509.kjanat.dev",
	"repository": {
		"type": "git",
		"url": "git+https://github.com/kjanat/micro509.git"
	},
	"license": "MIT",
	"author": {
		"name": "Kaj Kowalski",
		"email": "info@kajkowalski.nl",
		"url": "https://github.com/kjanat"
	},
	"sideEffects": false,
	"type": "module",
	"imports": {
		"#micro509": "./src/index.ts",
		"#micro509/*": "./src/*.ts",
		"#micro509/crypto": "./src/crypto/index.ts",
		"#micro509/der": "./src/der/index.ts",
		"#micro509/keys": "./src/keys/index.ts",
		"#micro509/pem": "./src/pem/index.ts",
		"#micro509/pkcs": "./src/pkcs/index.ts",
		"#micro509/result": "./src/result/index.ts",
		"#micro509/revocation": "./src/revocation/index.ts",
		"#micro509/verify": "./src/verify/index.ts",
		"#micro509/x509": "./src/x509/index.ts",
		"#micro509/internal/*": "./src/internal/*.ts",
		"#pkg": "./package.json",
		"#jsr": "./jsr.json",
		"#smoke": "./scripts/smoke-core.mjs",
		"#test/helpers": "./test/helpers.ts",
		"#test/fuzz/*": "./test/fuzz/*.ts",
		"#test/oracles/*": "./test/oracles/*.ts",
		"#test/pkits/*": "./test/fixtures/pkits/*.ts"
	},
	"exports": {
		".": {
			"types": "./dist/index.d.ts",
			"default": "./dist/index.js"
		},
		"./crypto": {
			"types": "./dist/crypto.d.ts",
			"default": "./dist/crypto.js"
		},
		"./der": {
			"types": "./dist/der.d.ts",
			"default": "./dist/der.js"
		},
		"./keys": {
			"types": "./dist/keys.d.ts",
			"default": "./dist/keys.js"
		},
		"./pem": {
			"types": "./dist/pem.d.ts",
			"default": "./dist/pem.js"
		},
		"./pkcs": {
			"types": "./dist/pkcs.d.ts",
			"default": "./dist/pkcs.js"
		},
		"./result": {
			"types": "./dist/result.d.ts",
			"default": "./dist/result.js"
		},
		"./revocation": {
			"types": "./dist/revocation.d.ts",
			"default": "./dist/revocation.js"
		},
		"./verify": {
			"types": "./dist/verify.d.ts",
			"default": "./dist/verify.js"
		},
		"./x509": {
			"types": "./dist/x509.d.ts",
			"default": "./dist/x509.js"
		},
		"./package.json": "./package.json"
	},
	"jsdelivr": "./dist/index.js",
	"types": "./dist/index.d.ts",
	"files": ["dist"],
	"workspaces": ["examples/*", "packages/*", "site/.vitepress"],
	"scripts": {
		"bd": "tsdown",
		"build": "tsdown",
		"build:watch": "tsdown --watch",
		"check": "run -pK check:biome check:deno typecheck",
		"check:biome": "biome check",
		"check:deno": "deno check src",
		"deno:cache": "deno cache --import-map=deno.import_map.json {src,docs,packages}/",
		"deno:cleandocs": "rm -rf ./.denodocs 2>/dev/null",
		"deno:doc": "run -qpk deno:importsmap deno:cleandocs; deno doc --import-map deno.import_map.json --no-npm --name=\"$(jq -r '.name' package.json)\"",
		"deno:importsmap": "run importmapify --quiet --out deno.import_map.json --import 'bun:test=./node_modules/bun-types/test.d.ts' --import '@deno/doc=jsr:@deno/doc@0.199.0' --import 'vue=./node_modules/vue/dist/vue.d.ts'",
		"dev": "run -pK build:watch site:dev",
		"docs:build": "run -q deno:doc --html --output=.denodocs $(jq -r '.exports | .[]? // .' jsr.json) 2>/dev/null",
		"docs:lint": "run -q deno:doc --lint $(jq -r '.exports | .[]? // .' jsr.json)",
		"fmt": "dprint fmt",
		"format": "run -q fmt",
		"lint": "run -qq lint:biome",
		"lint:biome": "biome lint",
		"lint:deno": "deno lint src",
		"lint:fix": "biome check --fix",
		"playwright:chromium": "npx playwright install --with-deps chromium",
		"prepare": "run -sq deno:importsmap deno:cache",
		"prepublishOnly": "[ -n \"${GITHUB_ACTIONS:-}\" ] || { printf '%s\\n' 'manual npm publish blocked; use release workflow for provenance' >&2; exit 1; }",
		"publish:jsr": "[ -n \"${GITHUB_ACTIONS:-}\" ] || { printf '%s\\n' 'manual JSR publish blocked; use release workflow' >&2; exit 1; }; BIN=\"${BIN:-bun}\"; $BIN x jsr publish",
		"publish:pkgprnew": "BIN=\"${BIN:-bun}\"; $BIN x pkg-pr-new publish --packageManager='npm,pnpm,bun' --bun --template './examples/vite'",
		"rfc": "bun scripts/fetch-rfc.bun.ts",
		"site:build": "run build; run --dir site/.vitepress build",
		"site:dev": "run --dir site/.vitepress dev",
		"site:import-maps": "deno run --allow-read --allow-net --allow-write --allow-run scripts/site-import-maps.deno.ts",
		"site:live-examples": "node scripts/site-live-examples.mjs",
		"site:preview": "run --dir site/.vitepress preview",
		"site:typecheck": "run --dir site/.vitepress typecheck",
		"smoke": "run build -l silent; run -p smoke:browser smoke:bun smoke:deno smoke:node smoke:workerd",
		"smoke:browser": "node scripts/smoke-browser.mjs",
		"smoke:bun": "BIN=\"${BIN:-bun}\"; $BIN --bun scripts/smoke.mjs",
		"smoke:deno": "deno run --allow-read scripts/smoke.mjs",
		"smoke:node": "node scripts/smoke.mjs",
		"smoke:workerd": "node scripts/smoke-workerd.mjs",
		"test": "BIN=\"${BIN:-bun}\"; AGENT=\"${AGENT:-1}\" $BIN test --concurrent",
		"test:35433": "PR=\"35433\"; (command -v \"bun-${PR}\" >/dev/null || bunx bun-pr \"${PR}\") && BIN=\"bun-${PR}\" bun --silent run test",
		"test:coverage": "run -q test --coverage",
		"test:differential": "BIN=\"${BIN:-bun}\"; $BIN test test/differential.test.ts test/differential-fuzz.test.ts",
		"test:pkits": "BIN=\"${BIN:-bun}\"; $BIN test test/pkits.test.ts",
		"test:watch": "BIN=\"${BIN:-bun}\"; $BIN run test --watch",
		"typecheck": "run -pk typecheck:src typecheck:other typecheck:regular site:typecheck",
		"typecheck:other": "run typescript-7 --noEmit -p tsconfig.other.json",
		"typecheck:regular": "run typescript-7 --noEmit -p tsconfig.json",
		"typecheck:src": "run typescript-7 --noEmit -p tsconfig.src.json",
		"wrangler:build": "wrangler build",
		"wrangler:deploy": "wrangler deploy",
		"wrangler:deploy:versions": "wrangler versions upload",
		"wrangler:dev": "wrangler dev"
	},
	"overrides": {
		"micro509": "link:."
	},
	"devDependencies": {
		"@arethetypeswrong/core": "catalog:build",
		"@deno/doc": "catalog:deno",
		"@micro509/doc-render": "workspace:*",
		"@tsconfig/node24": "catalog:ts",
		"@types/bun": "catalog:ts",
		"@types/deno": "catalog:deno",
		"@types/node": "catalog:ts",
		"biome": "catalog:",
		"deno": "catalog:deno",
		"dprint": "catalog:",
		"dreamcli": "npm:@kjanat/dreamcli@3.0.1",
		"importmapify": "catalog:deno",
		"playwright": "^1.61.1",
		"publint": "catalog:build",
		"runner-run": "catalog:",
		"tsdown": "catalog:build",
		"typescript": "catalog:ts",
		"typescript-7": "catalog:ts",
		"unplugin-unused": "catalog:build",
		"vue": "catalog:",
		"wrangler": "catalog:cloudflare"
	},
	"packageManager": "bun@1.3.14",
	"devEngines": {
		"packageManager": [
			{
				"name": "bun",
				"version": ">=1.3",
				"onFail": "warn"
			},
			{
				"name": "npm",
				"version": ">=11 <12",
				"onFail": "warn"
			}
		],
		"runtime": [
			{
				"name": "node",
				"version": ">=24"
			},
			{
				"name": "bun",
				"version": ">=1.3"
			},
			{
				"name": "deno"
			}
		]
	},
	"volta": {
		"node": "26.5.0",
		"npm": "11.18.0"
	},
	"catalog": {
		"biome": "npm:@biomejs/biome@^2.5.5",
		"dprint": "^0.55.2",
		"runner-run": "^0.23.0",
		"vue": "^3.5.40"
	},
	"catalogs": {
		"build": {
			"@arethetypeswrong/core": "^0.18.4",
			"publint": "^0.3.22",
			"tsdown": "^0.22.14",
			"unplugin-unused": "^0.5.7"
		},
		"cloudflare": {
			"@cloudflare/vite-plugin": "^1.46.0",
			"wrangler": "^4.114.0"
		},
		"deno": {
			"@deno/doc": "npm:@jsr/deno__doc@0.199.0",
			"@types/deno": "^2.7.0",
			"deno": "^2.9.4",
			"importmapify": "^1.7.0"
		},
		"site": {
			"markdown-it-task-lists": "^2.1.1",
			"tar": "^7.5.21",
			"vite-robots-txt": "^1.0.0",
			"vite-svg-to-ico": "^4.1.0",
			"vitepress": "2.0.0-alpha.18"
		},
		"ts": {
			"@arethetypeswrong/core": "^0.18.4",
			"@tsconfig/node24": "^24.0.4",
			"@types/bun": "^1.3.14",
			"@types/deno": "^2.7.0",
			"@types/node": "^26.1.0",
			"@vue/tsconfig": "^0.9.1",
			"typescript": "npm:typescript@>=6,<7",
			"typescript-6": "npm:@typescript/typescript6@^6",
			"typescript-7": "npm:typescript@>=7",
			"vue-tsc": "^3.3.5"
		}
	},
	"trustedDependencies": ["deno", "dprint", "esbuild", "sharp", "workerd"]
}
