{
	"name": "pota",
	"description": "pota is a small and pluggable Reactive Web Renderer.",
	"version": "0.22.235",
	"author": "Tito Bouzout",
	"homepage": "https://pota.quack.uy/",
	"type": "module",
	"types": "./typescript/exports.d.ts",
	"main": "./src/exports.js",
	"sideEffects": false,
	"exports": {
		"./babel-preset": {
			"require": "./generated/babel-preset.cjs",
			"import": "./babel-preset/babel-preset.js",
			"default": "./babel-preset/babel-preset.js"
		},
		"./jsx-runtime": {
			"types": "./typescript/jsx/runtime.d.ts",
			"default": "./src/jsx/jsx-runtime.js"
		},
		"./jsx-dev-runtime": {
			"types": "./typescript/jsx/runtime.d.ts",
			"default": "./src/jsx/jsx-runtime.js"
		},
		"./xml": {
			"types": "./generated/types/core/xml.d.ts",
			"default": "./src/core/xml.js"
		},
		"./components": {
			"types": "./generated/types/components/@main.d.ts",
			"default": "./src/components/@main.js"
		},
		"./components/Linkify": {
			"types": "./generated/types/components/linkify/linkify.d.ts",
			"default": "./src/components/linkify/linkify.js"
		},
		"./use/*": {
			"types": "./generated/types/use/*.d.ts",
			"default": "./src/use/*.js"
		},
		"./store": {
			"types": "./generated/types/lib/store.d.ts",
			"default": "./src/lib/store.js"
		},
		".": {
			"types": "./typescript/exports.d.ts",
			"default": "./src/exports.js"
		}
	},
	"imports": {
		"#test": "./tools/test-runner/test.js",
		"#type/*": "./typescript/private/*"
	},
	"scripts": {
		"dev": "npm run clean && (npm run build:ts || true) && node tools/watch.js",
		"clean": "rm -Rf generated/*",
		"build:ts": "tsc",
		"build:babel-preset": "rollup -c tools/babel-preset/rollup.config.js",
		"build:generate": "node tools/generate.js",
		"watch:ts": "tsc -w",
		"watch:ts-tests": "tsc -p tests/tsconfig.json -w",
		"watch:ts-babel-preset": "tsc -p babel-preset/tsconfig.json -w",
		"watch:babel-preset": "rollup -c tools/babel-preset/rollup.config.js -w",
		"watch:generate": "node tools/generate.js -w",
		"watch:test": "node tools/test-runner/runner.js -w -q",
		"test": "npm run test:types && npm run test:api -- --no-clear -q && npm run test:babel-preset",
		"test:api": "node tools/test-runner/runner.js",
		"test:babel-preset": "node tools/babel-preset/test/runner.js",
		"test:types": "npm run test:ts && npm run test:ts-tests && npm run test:ts-babel-preset",
		"test:ts": "tsc",
		"test:ts-tests": "tsc -p tests/tsconfig.json",
		"test:ts-babel-preset": "tsc -p babel-preset/tsconfig.json",
		"coverage": "node tools/test-runner/runner.js --coverage",
		"bench": "node tools/bench/runner.mjs",
		"bench:profile": "node tools/bench/prof.mjs",
		"bench:profile-trace": "node tools/bench/prof.mjs --trace",
		"bench:profile-heap": "node tools/bench/prof.mjs --heap",
		"bench:profile-no-inline": "node tools/bench/prof.mjs --prof-no-inlining",
		"release": "npm run test && node tools/release.js",
		"format": "npm run format:md && npm run format:jsdoc && npm run format:biome",
		"format:md": "prettier --write --ignore-pattern 'generated/**' --ignore-pattern 'projects/**' '**/*.md'",
		"format:jsdoc": "node tools/format-jsdoc.js",
		"format:biome": "biome format . --write"
	},
	"dependencies": {
		"color-bits": "^1.1.1",
		"csstype": "^3.2.3",
		"parse5": "^8.0.1"
	},
	"peerDependencies": {
		"@babel/core": "^8.0.0",
		"@babel/helper-module-imports": "^8.0.0",
		"@babel/helper-plugin-utils": "^8.0.0",
		"@babel/plugin-syntax-jsx": "^8.0.0"
	},
	"devDependencies": {
		"@babel/preset-typescript": "^8.0.1",
		"@babel/standalone": "^8.0.1",
		"@biomejs/biome": "2.5.0",
		"@rollup/plugin-commonjs": "^29.0.2",
		"@rollup/plugin-node-resolve": "^16.0.3",
		"@rollup/plugin-terser": "^1.0.0",
		"@types/node": "^25.6.0",
		"c8": "^11.0.0",
		"esbuild": "^0.28.0",
		"js-yaml": "^4.1.0",
		"prettier": "^3.8.3",
		"prettier-plugin-jsdoc": "^1.3.0",
		"puppeteer": "^25.1.0",
		"rollup": "^4.60.2",
		"typescript": "^6.0.3"
	},
	"test": {
		"dirs": [
			"tests/api/"
		],
		"extensions": [
			".jsx",
			".tsx",
			".ts"
		],
		"watch": [
			"src/",
			"babel-preset/"
		],
		"ignore": [],
		"port": 7357,
		"timeout": 8000,
		"concurrency": 8
	},
	"formatter": {
		"pattern": "**/*.{js,jsx,ts,tsx,mjs,cjs}",
		"exclude": [
			"node_modules/",
			"generated/",
			"projects/"
		]
	},
	"prettier": {
		"printWidth": 70,
		"useTabs": true,
		"tabWidth": 2,
		"semi": false,
		"singleQuote": true,
		"jsxSingleQuote": false,
		"trailingComma": "all",
		"arrowParens": "avoid",
		"bracketSameLine": false,
		"bracketSpacing": true,
		"quoteProps": "as-needed",
		"proseWrap": "always",
		"endOfLine": "lf",
		"singleAttributePerLine": true
	},
	"repository": {
		"type": "git",
		"url": "git+https://github.com/potahtml/pota.git"
	},
	"keywords": [
		"reactive",
		"renderer",
		"jsx",
		"signal",
		"signals",
		"store",
		"ui",
		"dom",
		"babel-preset",
		"solid"
	],
	"funding": [
		{
			"type": "github",
			"url": "https://github.com/sponsors/titoBouzout"
		},
		{
			"type": "opencollective",
			"url": "https://opencollective.com/tito-bouzout"
		}
	]
}
