{"_id":"@observablehq/framework","_rev":"45-bdb29f83f76fe30df05f0e15ecb2a3b8","name":"@observablehq/framework","dist-tags":{"latest":"1.13.4"},"versions":{"1.0.0-rc.1":{"name":"@observablehq/framework","version":"1.0.0-rc.1","license":"ISC","_id":"@observablehq/framework@1.0.0-rc.1","maintainers":[{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"sylvestre67","email":"sylvestre.gug@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"include":["src/**/*.js","src/**/*.ts"],"reporter":["text","lcov"]},"bin":{"observable":"bin/observable-init.js"},"dist":{"shasum":"9409de5d7a9ed3f6e15b979ef89c88afbafeab88","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.0.0-rc.1.tgz","fileCount":112,"integrity":"sha512-llEVbbTcrJTk9MY2IeQmx7eUqoZwUMMha+D7RQFyJgwEYsVaQwzz9MIo5mCzH25dLN7xNoFl8+8RU+LAviX+8Q==","signatures":[{"sig":"MEUCIGJD+NUXV+g2sWcAImEao5NWjz5Lk0xwxYo7tlVpyhwRAiEA17MQ2971KqYsH6/xxKLhbUFIfV9/yzFNzEpOBg3KzGc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310783},"type":"module","engines":{"node":">=20.6"},"gitHead":"0af71113374d72171f0df4eec8ae78d713e883d6","scripts":{"dev":"rm -f docs/themes.md docs/theme/*.md && (tsx watch docs/theme/generate-themes.ts & tsx watch --no-warnings=ExperimentalWarning ./bin/observable.ts preview)","test":"yarn test:mocha && yarn test:tsc && yarn test:lint && yarn test:prettier","build":"yarn rebuild-themes && rm -rf dist && tsx --no-warnings=ExperimentalWarning ./bin/observable.ts build","deploy":"yarn rebuild-themes && tsx --no-warnings=ExperimentalWarning ./bin/observable.ts deploy","test:tsc":"tsc --noEmit","test:lint":"eslint src test","observable":"tsx --no-warnings=ExperimentalWarning ./bin/observable.ts","test:mocha":"rm -rf test/.observablehq/cache test/input/build/*/.observablehq/cache && OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles tsx --no-warnings=ExperimentalWarning ./node_modules/.bin/mocha 'test/**/*-test.*'","test:coverage":"c8 yarn test:mocha","test:prettier":"prettier --check src test","rebuild-themes":"rm -f docs/themes.md docs/theme/*.md && tsx docs/theme/generate-themes.ts"},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.2.4","description":"- [Documentation](https://observablehq.com/framework/) - [Changelog](https://github.com/observablehq/framework/releases) - [Issues](https://github.com/observablehq/framework/issues)","directories":{},"_nodeVersion":"20.11.0","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"~4.2.1","mime":"^3.0.0","open":"^9.1.0","send":"^0.18.0","acorn":"^8.11.2","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","ci-info":"^4.0.0","esbuild":"^0.19.8","linkedom":"^0.15.6","is-docker":"^3.0.0","untildify":"^5.0.0","acorn-walk":"^8.3.0","tar-stream":"^3.1.6","gray-matter":"^4.0.3","markdown-it":"^13.0.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","fast-deep-equal":"^3.1.3","markdown-it-anchor":"^8.6.7","@observablehq/inputs":"^0.10.6","@observablehq/runtime":"^5.9.4","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^8.0.1","chai":"^4.3.10","mocha":"^10.2.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","undici":"^5.27.2","d3-array":"^3.2.4","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/mocha":"^10.0.2","@types/prompts":"^2.4.9","@types/tar-stream":"^3.1.3","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.7.3","@typescript-eslint/eslint-plugin":"^6.7.3","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.0.0-rc.1_1707324495516_0.5229659854974469","host":"s3://npm-registry-packages"}},"1.0.0-rc.2":{"name":"@observablehq/framework","version":"1.0.0-rc.2","license":"ISC","_id":"@observablehq/framework@1.0.0-rc.2","maintainers":[{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"sylvestre67","email":"sylvestre.gug@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"include":["src/**/*.js","src/**/*.ts"],"reporter":["text","lcov"]},"bin":{"observable":"bin/observable-init.js"},"dist":{"shasum":"89af2b4a08e31e143b5fbfd8c7d775c5c31bb4e7","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.0.0-rc.2.tgz","fileCount":112,"integrity":"sha512-guVbkJIT7QBq5D74ZrmJoTtkU//e9PEUacVt8I1LYj3S0IHSbPB5wtN/Z+rD5jHiwHVOlOFrIVk2rCWLf3fBbg==","signatures":[{"sig":"MEQCIE3EQgIfktJI31AA1rL5644U6XyfG9zo6qRRcmD9LoesAiAGt/KIZl/5CpLPM1ufD/Fv+gWB+8QXhmdHT3ji3M4/ow==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310788},"type":"module","engines":{"node":">=20.6"},"gitHead":"0d4b3993c2497e20f6c014ccbf4049032e734d09","scripts":{"dev":"rm -f docs/themes.md docs/theme/*.md && (tsx watch docs/theme/generate-themes.ts & tsx watch --no-warnings=ExperimentalWarning ./bin/observable.ts preview)","test":"yarn test:mocha && yarn test:tsc && yarn test:lint && yarn test:prettier","build":"yarn rebuild-themes && rm -rf dist && tsx --no-warnings=ExperimentalWarning ./bin/observable.ts build","deploy":"yarn rebuild-themes && tsx --no-warnings=ExperimentalWarning ./bin/observable.ts deploy","test:tsc":"tsc --noEmit","test:lint":"eslint src test","observable":"tsx --no-warnings=ExperimentalWarning ./bin/observable.ts","test:mocha":"rm -rf test/.observablehq/cache test/input/build/*/.observablehq/cache && OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles tsx --no-warnings=ExperimentalWarning ./node_modules/.bin/mocha 'test/**/*-test.*'","test:coverage":"c8 yarn test:mocha","test:prettier":"prettier --check src test","rebuild-themes":"rm -f docs/themes.md docs/theme/*.md && tsx docs/theme/generate-themes.ts"},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.2.4","description":"- [Documentation](https://observablehq.com/framework/) - [Changelog](https://github.com/observablehq/framework/releases) - [Issues](https://github.com/observablehq/framework/issues)","directories":{},"_nodeVersion":"20.11.0","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"~4.2.1","mime":"^3.0.0","open":"^9.1.0","send":"^0.18.0","acorn":"^8.11.2","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","ci-info":"^4.0.0","esbuild":"^0.19.8","linkedom":"^0.15.6","is-docker":"^3.0.0","untildify":"^5.0.0","acorn-walk":"^8.3.0","tar-stream":"^3.1.6","gray-matter":"^4.0.3","markdown-it":"^13.0.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","fast-deep-equal":"^3.1.3","markdown-it-anchor":"^8.6.7","@observablehq/inputs":"^0.10.6","@observablehq/runtime":"^5.9.4","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^8.0.1","chai":"^4.3.10","mocha":"^10.2.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","undici":"^5.27.2","d3-array":"^3.2.4","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/mocha":"^10.0.2","@types/prompts":"^2.4.9","@types/tar-stream":"^3.1.3","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.7.3","@typescript-eslint/eslint-plugin":"^6.7.3","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.0.0-rc.2_1707325056803_0.02188710013402373","host":"s3://npm-registry-packages"}},"1.0.0-rc.3":{"name":"@observablehq/framework","version":"1.0.0-rc.3","license":"ISC","_id":"@observablehq/framework@1.0.0-rc.3","maintainers":[{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"sylvestre67","email":"sylvestre.gug@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"include":["src/**/*.js","src/**/*.ts"],"reporter":["text","lcov"]},"bin":{"observable":"bin/observable-init.js"},"dist":{"shasum":"7116c68c61a853acba8cc1b32646b223cb05684a","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.0.0-rc.3.tgz","fileCount":116,"integrity":"sha512-Lf/sFy+jqGt0c7q8d7nJPY9uhB+eOJgJ1n1wlJ6AnPdTHjvaJZn/NARhFBVYLohXK4wnF0x8uqLU45IK7T2xyw==","signatures":[{"sig":"MEUCIF1BuPy8aOM8tdoXsyXbt9zBbrKwXBbz2uoKJMbk3dnCAiEAg5VpMqaDkggx3D6thTILYp4qdiYmGuzGutkfPmbqiRw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":319519},"type":"module","engines":{"node":">=20.6"},"gitHead":"d0c7093ec5d788579734fc054cfc34aabe16653a","scripts":{"dev":"rm -f docs/themes.md docs/theme/*.md && (tsx watch docs/theme/generate-themes.ts & tsx watch --no-warnings=ExperimentalWarning ./bin/observable.ts preview)","test":"yarn test:mocha && yarn test:tsc && yarn test:lint && yarn test:prettier","build":"yarn rebuild-themes && rm -rf dist && tsx --no-warnings=ExperimentalWarning ./bin/observable.ts build","deploy":"yarn rebuild-themes && tsx --no-warnings=ExperimentalWarning ./bin/observable.ts deploy","test:tsc":"tsc --noEmit","test:lint":"eslint src test","observable":"tsx --no-warnings=ExperimentalWarning ./bin/observable.ts","test:mocha":"rm -rf test/.observablehq/cache test/input/build/*/.observablehq/cache && OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles tsx --no-warnings=ExperimentalWarning ./node_modules/.bin/mocha 'test/**/*-test.*'","test:coverage":"c8 yarn test:mocha","test:prettier":"prettier --check src test","rebuild-themes":"rm -f docs/themes.md docs/theme/*.md && tsx docs/theme/generate-themes.ts"},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.2.4","description":"- [Documentation](https://observablehq.com/framework/) - [Changelog](https://github.com/observablehq/framework/releases) - [Issues](https://github.com/observablehq/framework/issues)","directories":{},"_nodeVersion":"20.11.0","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"~4.2.1","mime":"^3.0.0","open":"^9.1.0","send":"^0.18.0","acorn":"^8.11.2","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","ci-info":"^4.0.0","esbuild":"^0.19.8","linkedom":"^0.15.6","is-docker":"^3.0.0","untildify":"^5.0.0","acorn-walk":"^8.3.0","tar-stream":"^3.1.6","gray-matter":"^4.0.3","markdown-it":"^13.0.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","fast-deep-equal":"^3.1.3","markdown-it-anchor":"^8.6.7","@observablehq/inputs":"^0.10.6","@observablehq/runtime":"^5.9.4","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^8.0.1","chai":"^4.3.10","mocha":"^10.2.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","undici":"^5.27.2","d3-array":"^3.2.4","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/mocha":"^10.0.2","@types/prompts":"^2.4.9","@types/tar-stream":"^3.1.3","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.7.3","@typescript-eslint/eslint-plugin":"^6.7.3","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.0.0-rc.3_1707326727887_0.7636770752190136","host":"s3://npm-registry-packages"}},"1.0.0-rc.4":{"name":"@observablehq/framework","version":"1.0.0-rc.4","license":"ISC","_id":"@observablehq/framework@1.0.0-rc.4","maintainers":[{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"sylvestre67","email":"sylvestre.gug@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"include":["src/**/*.js","src/**/*.ts"],"reporter":["text","lcov"]},"bin":{"observable":"bin/observable-init.js"},"dist":{"shasum":"827ef9f2990dbebb899461a01d646b3358b6107b","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.0.0-rc.4.tgz","fileCount":118,"integrity":"sha512-FM4+ndJ1irGmHtylZl3Prqjjr4Jc8Kq1NIWQ9Ge1CR9OK3rPeDWRw//T4ecL/VmZu3eLenIxjXPTnl6cuAeFiQ==","signatures":[{"sig":"MEUCIQDe8wioJ6IsQqsfjLr7KovEU+o+TBj+MguopKcQOAsfCwIgImNyfHwGSpwF8bqBAoA51xNCcKj2jRLQ7TfjjSL9jXk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":319661},"type":"module","engines":{"node":">=20.6"},"gitHead":"d5ebd0dfb82fa47b8a78d668200220d51dcec825","scripts":{"dev":"rm -f docs/themes.md docs/theme/*.md && (tsx watch docs/theme/generate-themes.ts & tsx watch --no-warnings=ExperimentalWarning ./bin/observable.ts preview)","test":"yarn test:mocha && yarn test:tsc && yarn test:lint && yarn test:prettier","build":"yarn rebuild-themes && rm -rf dist && tsx --no-warnings=ExperimentalWarning ./bin/observable.ts build","deploy":"yarn rebuild-themes && tsx --no-warnings=ExperimentalWarning ./bin/observable.ts deploy","test:tsc":"tsc --noEmit","test:lint":"eslint src test","observable":"tsx --no-warnings=ExperimentalWarning ./bin/observable.ts","test:mocha":"rm -rf test/.observablehq/cache test/input/build/*/.observablehq/cache && OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles tsx --no-warnings=ExperimentalWarning ./node_modules/.bin/mocha 'test/**/*-test.*'","test:coverage":"c8 yarn test:mocha","test:prettier":"prettier --check src test","rebuild-themes":"rm -f docs/themes.md docs/theme/*.md && tsx docs/theme/generate-themes.ts"},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.2.4","description":"- [Documentation](https://observablehq.com/framework/) - [Changelog](https://github.com/observablehq/framework/releases) - [Issues](https://github.com/observablehq/framework/issues)","directories":{},"_nodeVersion":"20.11.0","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"~4.2.1","mime":"^3.0.0","open":"^9.1.0","send":"^0.18.0","acorn":"^8.11.2","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","ci-info":"^4.0.0","esbuild":"^0.19.8","linkedom":"^0.15.6","is-docker":"^3.0.0","untildify":"^5.0.0","acorn-walk":"^8.3.0","tar-stream":"^3.1.6","gray-matter":"^4.0.3","markdown-it":"^13.0.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","fast-deep-equal":"^3.1.3","markdown-it-anchor":"^8.6.7","@observablehq/inputs":"^0.10.6","@observablehq/runtime":"^5.9.4","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^8.0.1","chai":"^4.3.10","mocha":"^10.2.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","undici":"^5.27.2","d3-array":"^3.2.4","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/mocha":"^10.0.2","@types/prompts":"^2.4.9","@types/tar-stream":"^3.1.3","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.7.3","@typescript-eslint/eslint-plugin":"^6.7.3","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.0.0-rc.4_1707327677021_0.9444174754452439","host":"s3://npm-registry-packages"}},"1.0.0-rc.5":{"name":"@observablehq/framework","version":"1.0.0-rc.5","license":"ISC","_id":"@observablehq/framework@1.0.0-rc.5","maintainers":[{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"sylvestre67","email":"sylvestre.gug@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"include":["src/**/*.js","src/**/*.ts"],"reporter":["text","lcov"]},"bin":{"observable":"bin/observable-init.js"},"dist":{"shasum":"706bc1141563596ba0f9f2553f4a5e6ef704b59b","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.0.0-rc.5.tgz","fileCount":117,"integrity":"sha512-AsCTueF9DoxXYH0hrCZFyrDyBZCWt6Nt2Zp6KMluoZh1r2cqCpSfaDEKqjFz+hSlgSy825Q14gQ3F4x+j2Eo1w==","signatures":[{"sig":"MEUCIQC2Zo6XmbwN6KDAzrFBSAzNfLpgNjkAUNr2xBEItAsXMwIgB2FJ+tFX3+I/j4UKOlnatKulIqcYxo4mutUUYJvwXS0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":318105},"type":"module","engines":{"node":">=20.6"},"gitHead":"a1feb7d3eea1052fe9f465b3e09cfcf5aca9aa4e","scripts":{"dev":"rm -f docs/themes.md docs/theme/*.md && (tsx watch docs/theme/generate-themes.ts & tsx watch --no-warnings=ExperimentalWarning ./bin/observable.ts preview)","test":"yarn test:mocha && yarn test:tsc && yarn test:lint && yarn test:prettier","build":"yarn rebuild-themes && rm -rf dist && tsx --no-warnings=ExperimentalWarning ./bin/observable.ts build","deploy":"yarn rebuild-themes && tsx --no-warnings=ExperimentalWarning ./bin/observable.ts deploy","test:tsc":"tsc --noEmit","test:lint":"eslint src test","observable":"tsx --no-warnings=ExperimentalWarning ./bin/observable.ts","test:mocha":"rm -rf test/.observablehq/cache test/input/build/*/.observablehq/cache && OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles tsx --no-warnings=ExperimentalWarning ./node_modules/.bin/mocha 'test/**/*-test.*'","test:coverage":"c8 yarn test:mocha","test:prettier":"prettier --check src test","rebuild-themes":"rm -f docs/themes.md docs/theme/*.md && tsx docs/theme/generate-themes.ts"},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.2.4","description":"- [Documentation](https://observablehq.com/framework/) - [Changelog](https://github.com/observablehq/framework/releases) - [Issues](https://github.com/observablehq/framework/issues)","directories":{},"_nodeVersion":"20.11.0","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"~4.2.1","mime":"^3.0.0","open":"^9.1.0","send":"^0.18.0","acorn":"^8.11.2","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","ci-info":"^4.0.0","esbuild":"^0.19.8","linkedom":"^0.15.6","is-docker":"^3.0.0","untildify":"^5.0.0","acorn-walk":"^8.3.0","tar-stream":"^3.1.6","gray-matter":"^4.0.3","markdown-it":"^13.0.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","fast-deep-equal":"^3.1.3","markdown-it-anchor":"^8.6.7","@observablehq/inputs":"^0.10.6","@observablehq/runtime":"^5.9.4","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^8.0.1","chai":"^4.3.10","mocha":"^10.2.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","undici":"^5.27.2","d3-array":"^3.2.4","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/mocha":"^10.0.2","@types/prompts":"^2.4.9","@types/tar-stream":"^3.1.3","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.7.3","@typescript-eslint/eslint-plugin":"^6.7.3","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.0.0-rc.5_1707330238483_0.40298761227587265","host":"s3://npm-registry-packages"}},"1.0.0-rc.6":{"name":"@observablehq/framework","version":"1.0.0-rc.6","license":"ISC","_id":"@observablehq/framework@1.0.0-rc.6","maintainers":[{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"sylvestre67","email":"sylvestre.gug@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"include":["src/**/*.js","src/**/*.ts"],"reporter":["text","lcov"]},"bin":{"observable":"bin/observable-init.js"},"dist":{"shasum":"a7da2ee314b869d2d9f102dc404003a0129e61be","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.0.0-rc.6.tgz","fileCount":118,"integrity":"sha512-+93K6Cg+PbmSH4qArFtygtpJnjfSz50d4Uskwv9+2B8lN3njtptk///ZoeO7yV0vPR9YPKAvyshGjJhhaCHo9A==","signatures":[{"sig":"MEQCIBkSlmOskEOfJJKUsuXjPgo5vYdGGyPwfm7YjcFjRhUGAiA7lONvwb17dQf1eMzjS8zj6yykf2wMe3S3SeluvobQHw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":319820},"type":"module","engines":{"node":">=20.6"},"gitHead":"2e4f4f75adb15315a41cb95ce5db8ea560d35d8f","scripts":{"dev":"rm -f docs/themes.md docs/theme/*.md && (tsx watch docs/theme/generate-themes.ts & tsx watch --no-warnings=ExperimentalWarning ./bin/observable.ts preview)","test":"yarn test:mocha && yarn test:tsc && yarn test:lint && yarn test:prettier","build":"yarn rebuild-themes && rm -rf dist && tsx --no-warnings=ExperimentalWarning ./bin/observable.ts build","deploy":"yarn rebuild-themes && tsx --no-warnings=ExperimentalWarning ./bin/observable.ts deploy","test:tsc":"tsc --noEmit","test:lint":"eslint src test","observable":"tsx --no-warnings=ExperimentalWarning ./bin/observable.ts","test:mocha":"rm -rf test/.observablehq/cache test/input/build/*/.observablehq/cache && OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles tsx --no-warnings=ExperimentalWarning ./node_modules/.bin/mocha 'test/**/*-test.*'","test:coverage":"c8 yarn test:mocha","test:prettier":"prettier --check src test","rebuild-themes":"rm -f docs/themes.md docs/theme/*.md && tsx docs/theme/generate-themes.ts"},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.2.4","description":"- [Documentation](https://observablehq.com/framework/) - [Changelog](https://github.com/observablehq/framework/releases) - [Issues](https://github.com/observablehq/framework/issues)","directories":{},"_nodeVersion":"20.11.0","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"~4.2.1","mime":"^3.0.0","open":"^9.1.0","send":"^0.18.0","acorn":"^8.11.2","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","ci-info":"^4.0.0","esbuild":"^0.19.8","linkedom":"^0.15.6","is-docker":"^3.0.0","untildify":"^5.0.0","acorn-walk":"^8.3.0","tar-stream":"^3.1.6","gray-matter":"^4.0.3","markdown-it":"^13.0.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","fast-deep-equal":"^3.1.3","markdown-it-anchor":"^8.6.7","@observablehq/inputs":"^0.10.6","@observablehq/runtime":"^5.9.4","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^8.0.1","chai":"^4.3.10","mocha":"^10.2.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","undici":"^5.27.2","d3-array":"^3.2.4","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/mocha":"^10.0.2","@types/prompts":"^2.4.9","@types/tar-stream":"^3.1.3","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.7.3","@typescript-eslint/eslint-plugin":"^6.7.3","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.0.0-rc.6_1707354857553_0.6754094106399215","host":"s3://npm-registry-packages"}},"1.0.0-rc.7":{"name":"@observablehq/framework","version":"1.0.0-rc.7","license":"ISC","_id":"@observablehq/framework@1.0.0-rc.7","maintainers":[{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"sylvestre67","email":"sylvestre.gug@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"include":["src/**/*.js","src/**/*.ts"],"reporter":["text","lcov"]},"bin":{"observable":"bin/observable-init.js"},"dist":{"shasum":"5c3ae20925754bfab9ef43d3a7b88f9c023c0474","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.0.0-rc.7.tgz","fileCount":118,"integrity":"sha512-rLTAfvqYXr9rG1V2VfE6B7oLX9EhYtCOE0SKCtDoV83QOu3hhShYlC/evM0+vgvXNJvhENtHvk0tkKfjK1+3uA==","signatures":[{"sig":"MEUCIQCh0wQ4ZApTjysF3fYcCqkj9Rbs9z66dNvrXqyFMFCmvwIgfyZ0yiw0O+rev0lbPyHU53PAtLt3L2HaMhZN805ZXCw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":323433},"type":"module","engines":{"node":">=20.6"},"gitHead":"932165563d064dea4e7ff22b4d24e82048676c0c","scripts":{"dev":"rm -f docs/themes.md docs/theme/*.md && (tsx watch docs/theme/generate-themes.ts & tsx watch --no-warnings=ExperimentalWarning ./bin/observable.ts preview)","test":"yarn test:mocha && yarn test:tsc && yarn test:lint && yarn test:prettier","build":"yarn rebuild-themes && rm -rf dist && tsx --no-warnings=ExperimentalWarning ./bin/observable.ts build","deploy":"yarn rebuild-themes && tsx --no-warnings=ExperimentalWarning ./bin/observable.ts deploy","test:tsc":"tsc --noEmit","test:lint":"eslint src test","observable":"tsx --no-warnings=ExperimentalWarning ./bin/observable.ts","test:mocha":"rm -rf test/.observablehq/cache test/input/build/*/.observablehq/cache && OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles tsx --no-warnings=ExperimentalWarning ./node_modules/.bin/mocha 'test/**/*-test.*'","test:coverage":"c8 yarn test:mocha","test:prettier":"prettier --check src test","rebuild-themes":"rm -f docs/themes.md docs/theme/*.md && tsx docs/theme/generate-themes.ts"},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.2.4","description":"- [Documentation](https://observablehq.com/framework/) - [Changelog](https://github.com/observablehq/framework/releases) - [Issues](https://github.com/observablehq/framework/issues)","directories":{},"_nodeVersion":"20.11.0","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"~4.2.1","mime":"^3.0.0","open":"^9.1.0","send":"^0.18.0","acorn":"^8.11.2","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","ci-info":"^4.0.0","esbuild":"^0.19.8","linkedom":"^0.15.6","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","tar-stream":"^3.1.6","gray-matter":"^4.0.3","markdown-it":"^13.0.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","fast-deep-equal":"^3.1.3","markdown-it-anchor":"^8.6.7","@observablehq/inputs":"^0.10.6","@observablehq/runtime":"^5.9.4","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^8.0.1","chai":"^4.3.10","mocha":"^10.2.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","undici":"^5.27.2","d3-array":"^3.2.4","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/mocha":"^10.0.2","@types/prompts":"^2.4.9","@types/tar-stream":"^3.1.3","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.7.3","@typescript-eslint/eslint-plugin":"^6.7.3","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.0.0-rc.7_1707778670532_0.43938833887753725","host":"s3://npm-registry-packages"}},"1.0.0-rc.8":{"name":"@observablehq/framework","version":"1.0.0-rc.8","license":"ISC","_id":"@observablehq/framework@1.0.0-rc.8","maintainers":[{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"sylvestre67","email":"sylvestre.gug@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"include":["src/**/*.js","src/**/*.ts"],"reporter":["text","lcov"]},"bin":{"observable":"bin/observable-init.js"},"dist":{"shasum":"faa2210b6131e1fc0323b387c7f0f24749f227f2","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.0.0-rc.8.tgz","fileCount":118,"integrity":"sha512-UuO7BEV1EhSJiHfGrVgN8NMIvvUWxb2gNkBkxG3UEU6P/Q2jdcnmRkG9lK3tqsP12drtvoWCag5U7yRIHVl12A==","signatures":[{"sig":"MEUCIQCFws+AO2UxaNgyHJ7PxMWZ52jE+ToKy9tYip8AoVr42gIgFLb6IrFufCA+pMDFLKbNdT6k0ao1FAmH4fd8+tQh2m8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":326839},"type":"module","engines":{"node":">=20.6"},"gitHead":"c34fa370b8e58c712e6ee112ab4b5cf0735cd33f","scripts":{"dev":"rm -f docs/themes.md docs/theme/*.md && (tsx watch docs/theme/generate-themes.ts & tsx watch --no-warnings=ExperimentalWarning ./bin/observable.ts preview --no-open)","test":"yarn test:mocha && yarn test:tsc && yarn test:lint && yarn test:prettier","build":"yarn rebuild-themes && rm -rf dist && tsx --no-warnings=ExperimentalWarning ./bin/observable.ts build","deploy":"yarn rebuild-themes && tsx --no-warnings=ExperimentalWarning ./bin/observable.ts deploy","test:tsc":"tsc --noEmit","test:lint":"eslint src test","observable":"tsx --no-warnings=ExperimentalWarning ./bin/observable.ts","test:mocha":"rm -rf test/.observablehq/cache test/input/build/*/.observablehq/cache && OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles tsx --no-warnings=ExperimentalWarning ./node_modules/.bin/mocha 'test/**/*-test.*'","test:coverage":"c8 yarn test:mocha","test:prettier":"prettier --check src test","rebuild-themes":"rm -f docs/themes.md docs/theme/*.md && tsx docs/theme/generate-themes.ts"},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.2.4","description":"- [Documentation](https://observablehq.com/framework/) - [Changelog](https://github.com/observablehq/framework/releases) - [Issues](https://github.com/observablehq/framework/issues)","directories":{},"_nodeVersion":"20.11.0","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"~4.2.1","mime":"^3.0.0","open":"^9.1.0","send":"^0.18.0","acorn":"^8.11.2","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","ci-info":"^4.0.0","esbuild":"^0.19.8","linkedom":"^0.15.6","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","tar-stream":"^3.1.6","gray-matter":"^4.0.3","markdown-it":"^13.0.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","fast-deep-equal":"^3.1.3","markdown-it-anchor":"^8.6.7","@observablehq/inputs":"^0.10.6","@observablehq/runtime":"^5.9.4","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^8.0.1","chai":"^4.3.10","mocha":"^10.2.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","undici":"^5.27.2","d3-array":"^3.2.4","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/mocha":"^10.0.2","@types/prompts":"^2.4.9","@types/tar-stream":"^3.1.3","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.7.3","@typescript-eslint/eslint-plugin":"^6.7.3","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.0.0-rc.8_1707857925561_0.407210457818149","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@observablehq/framework","version":"1.0.0","license":"ISC","_id":"@observablehq/framework@1.0.0","maintainers":[{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"sylvestre67","email":"sylvestre.gug@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"include":["src/**/*.js","src/**/*.ts"],"reporter":["text","lcov"]},"bin":{"observable":"bin/observable-init.js"},"dist":{"shasum":"af19a25f9f6d9f46645ea1955739d58cb2ba04a6","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.0.0.tgz","fileCount":122,"integrity":"sha512-dcGCg19Eqa+cCjCFdk6pCehJ6i2N5rHS5yDVxJbcTFpWoRYG99NgtwnyQnfEAb3XkAZ5LKGF5AipXGzfDJokrw==","signatures":[{"sig":"MEQCIGJkmBiLP9wZA2lTaCA6zmvictkJpc4jwsBoHtHFzDC/AiA6eDVQbm10g/Ez5uOuZmwGXHj5WzTbQIREyfIJXfCr0g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":345502},"type":"module","engines":{"node":">=20.6"},"gitHead":"6db4a856fb171a4ccfa13ec7b5a2f8d22be8ed53","scripts":{"dev":"rm -f docs/themes.md docs/theme/*.md && (tsx watch docs/theme/generate-themes.ts & tsx watch --no-warnings=ExperimentalWarning ./bin/observable.ts preview --no-open)","test":"yarn test:mocha && yarn test:tsc && yarn test:lint && yarn test:prettier","build":"yarn rebuild-themes && rm -rf dist && tsx --no-warnings=ExperimentalWarning ./bin/observable.ts build","deploy":"yarn rebuild-themes && tsx --no-warnings=ExperimentalWarning ./bin/observable.ts deploy","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","observable":"tsx --no-warnings=ExperimentalWarning ./bin/observable.ts","test:mocha":"rm -rf test/.observablehq/cache test/input/build/*/.observablehq/cache && OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles tsx --no-warnings=ExperimentalWarning ./node_modules/.bin/mocha 'test/**/*-test.*'","test:coverage":"c8 yarn test:mocha","test:prettier":"prettier --check src test","rebuild-themes":"rm -f docs/themes.md docs/theme/*.md && tsx docs/theme/generate-themes.ts"},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.2.4","description":"- [Documentation](https://observablehq.com/framework/) - [Changelog](https://github.com/observablehq/framework/releases) - [Issues](https://github.com/observablehq/framework/issues)","directories":{},"_nodeVersion":"20.11.0","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"~4.2.1","mime":"^3.0.0","open":"^9.1.0","send":"^0.18.0","acorn":"^8.11.2","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","ci-info":"^4.0.0","esbuild":"^0.19.8","linkedom":"^0.15.6","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","tar-stream":"^3.1.6","gray-matter":"^4.0.3","markdown-it":"^13.0.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","fast-deep-equal":"^3.1.3","markdown-it-anchor":"^8.6.7","@observablehq/inputs":"^0.10.6","@observablehq/runtime":"^5.9.4","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^8.0.1","chai":"^4.3.10","mocha":"^10.2.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","undici":"^5.27.2","d3-array":"^3.2.4","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/mocha":"^10.0.2","@types/prompts":"^2.4.9","@types/tar-stream":"^3.1.3","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.7.3","@typescript-eslint/eslint-plugin":"^6.7.3","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.0.0_1707977748827_0.4598182025919244","host":"s3://npm-registry-packages"}},"1.1.0-rc.1":{"name":"@observablehq/framework","version":"1.1.0-rc.1","license":"ISC","_id":"@observablehq/framework@1.1.0-rc.1","maintainers":[{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"sylvestre67","email":"sylvestre.gug@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"exclude":["test/build/src/bin/","test/build/src/client/","test/build/src/convert.js","test/build/src/observableApiConfig.js","test/build/src/preview.js"],"include":["test/build/src/**/*.js"],"reporter":["text","lcov"]},"bin":{"observable":"dist/bin/observable.js"},"dist":{"shasum":"c02a0811fab3e73f673e8d3774fc54152778f0bc","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.1.0-rc.1.tgz","fileCount":123,"integrity":"sha512-9uRb8xDxzTKGrIHexUsYulO9GHRRDDWmll7w+FTKfkGlhLMWlQ9W0ZyzbuR4xSdJj3gnjtmJIMj+uwsbi3yIyQ==","signatures":[{"sig":"MEYCIQCayeI7q57OfcDJpxjFH+ygJMeP8Ai1TNuQrvqZxpzWbwIhAM3m7Muxw7eBpc2wXcw1NSRfNsH49E9n5Ts9NORDm0dc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":319602},"type":"module","engines":{"node":">=18"},"gitHead":"505afec72fb78315fca970092e0b3af513fa0b5c","scripts":{"dev":"rimraf --glob docs/themes.md docs/theme/*.md && (tsx watch docs/theme/generate-themes.ts & tsx watch --no-warnings=ExperimentalWarning ./src/bin/observable.ts preview --no-open)","test":"concurrently npm:test:mocha npm:test:tsc npm:test:lint npm:test:prettier","build":"rimraf dist && node build.js --outdir=dist --outbase=src \"src/**/*.{ts,js,css}\" --ignore \"**/*.d.ts\"","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","docs:build":"yarn docs:themes && rimraf docs/.observablehq/dist && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts build","observable":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts","test:build":"rimraf test/build && node build.js --sourcemap --outdir=test/build \"{src,test}/**/*.{ts,js,css}\" --ignore \"test/input/**\" --ignore \"test/output/**\" --ignore \"test/preview/dashboard/**\" --ignore \"**/*.d.ts\" && cp -r templates test/build","test:mocha":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha -p \"test/build/test/**/*-test.js\"","docs:deploy":"yarn docs:themes && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts deploy","docs:themes":"rimraf --glob docs/themes.md docs/theme/*.md && tsx docs/theme/generate-themes.ts","test:coverage":"c8 --check-coverage --lines 80 --per-file yarn test:mocha","test:prettier":"prettier --check src test","prepublishOnly":"yarn build","test:mocha:serial":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha \"test/build/test/**/*-test.js\""},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.2.4","description":"- [Documentation](https://observablehq.com/framework/) - [Changelog](https://github.com/observablehq/framework/releases) - [Issues](https://github.com/observablehq/framework/issues)","directories":{},"_nodeVersion":"20.11.1","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"^4.7.1","mime":"^3.0.0","open":"^9.1.0","send":"^0.18.0","acorn":"^8.11.2","jsdom":"^24.0.0","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","semver":"^7.5.4","ci-info":"^4.0.0","esbuild":"^0.19.8","cross-env":"^7.0.3","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","tar-stream":"^3.1.6","cross-spawn":"^7.0.3","gray-matter":"^4.0.3","markdown-it":"^13.0.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","markdown-it-anchor":"^8.6.7","@observablehq/inputs":"^0.10.6","@observablehq/runtime":"^5.9.4","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"tag":"next","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^8.0.1","chai":"^4.3.10","glob":"^10.3.10","mocha":"^10.2.0","tempy":"^3.1.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","rimraf":"^5.0.5","undici":"^5.27.2","d3-array":"^3.2.4","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/jsdom":"^21.1.6","@types/mocha":"^10.0.2","concurrently":"^8.2.2","@types/prompts":"^2.4.9","@types/d3-array":"^3.2.1","fast-deep-equal":"^3.1.3","@types/tar-stream":"^3.1.3","@types/cross-spawn":"^6.0.6","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.7.3","@typescript-eslint/eslint-plugin":"^6.7.3","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.1.0-rc.1_1709575688716_0.3679062412239731","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@observablehq/framework","version":"1.1.0","license":"ISC","_id":"@observablehq/framework@1.1.0","maintainers":[{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"sylvestre67","email":"sylvestre.gug@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"exclude":["test/build/src/bin/","test/build/src/client/","test/build/src/convert.js","test/build/src/observableApiConfig.js","test/build/src/preview.js"],"include":["test/build/src/**/*.js"],"reporter":["text","lcov"]},"bin":{"observable":"dist/bin/observable.js"},"dist":{"shasum":"67197e2a8e7a38b16030ea1b8b92bedd212a465a","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.1.0.tgz","fileCount":123,"integrity":"sha512-ySZ8+7rrgIHVhTYB8tY1pamaTBIUCNVA9I5+GjDIKmzNqtbGy6KNHUB6qWmo7NBPCivhJIHA2nKimaBg38s4bg==","signatures":[{"sig":"MEQCIFGreoCKQguiamMSbo3HyuP9BebUhTdRR8el5pJgM3B9AiB83L5qaTuxVvr48g6qb12x6GbS798hG7Uwcw4IGxd8cA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":319594},"type":"module","engines":{"node":">=18"},"gitHead":"0ff2a1cdb4c01d75f86771e309dd5bf43bde9c9a","scripts":{"dev":"rimraf --glob docs/themes.md docs/theme/*.md && (tsx watch docs/theme/generate-themes.ts & tsx watch --no-warnings=ExperimentalWarning ./src/bin/observable.ts preview --no-open)","test":"concurrently npm:test:mocha npm:test:tsc npm:test:lint npm:test:prettier","build":"rimraf dist && node build.js --outdir=dist --outbase=src \"src/**/*.{ts,js,css}\" --ignore \"**/*.d.ts\"","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","docs:build":"yarn docs:themes && rimraf docs/.observablehq/dist && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts build","observable":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts","test:build":"rimraf test/build && node build.js --sourcemap --outdir=test/build \"{src,test}/**/*.{ts,js,css}\" --ignore \"test/input/**\" --ignore \"test/output/**\" --ignore \"test/preview/dashboard/**\" --ignore \"**/*.d.ts\" && cp -r templates test/build","test:mocha":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha -p \"test/build/test/**/*-test.js\"","docs:deploy":"yarn docs:themes && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts deploy","docs:themes":"rimraf --glob docs/themes.md docs/theme/*.md && tsx docs/theme/generate-themes.ts","test:coverage":"c8 --check-coverage --lines 80 --per-file yarn test:mocha","test:prettier":"prettier --check src test","prepublishOnly":"yarn build","test:mocha:serial":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha \"test/build/test/**/*-test.js\""},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.2.4","description":"- [Documentation](https://observablehq.com/framework/) - [Changelog](https://github.com/observablehq/framework/releases) - [Issues](https://github.com/observablehq/framework/issues)","directories":{},"_nodeVersion":"20.11.1","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"^4.7.1","mime":"^3.0.0","open":"^9.1.0","send":"^0.18.0","acorn":"^8.11.2","jsdom":"^24.0.0","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","semver":"^7.5.4","ci-info":"^4.0.0","esbuild":"^0.19.8","cross-env":"^7.0.3","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","tar-stream":"^3.1.6","cross-spawn":"^7.0.3","gray-matter":"^4.0.3","markdown-it":"^13.0.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","markdown-it-anchor":"^8.6.7","@observablehq/inputs":"^0.10.6","@observablehq/runtime":"^5.9.4","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^8.0.1","chai":"^4.3.10","glob":"^10.3.10","mocha":"^10.2.0","tempy":"^3.1.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","rimraf":"^5.0.5","undici":"^5.27.2","d3-array":"^3.2.4","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/jsdom":"^21.1.6","@types/mocha":"^10.0.2","concurrently":"^8.2.2","@types/prompts":"^2.4.9","@types/d3-array":"^3.2.1","fast-deep-equal":"^3.1.3","@types/tar-stream":"^3.1.3","@types/cross-spawn":"^6.0.6","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.7.3","@typescript-eslint/eslint-plugin":"^6.7.3","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.1.0_1709587709298_0.2260935197242373","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"@observablehq/framework","version":"1.1.1","license":"ISC","_id":"@observablehq/framework@1.1.1","maintainers":[{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"sylvestre67","email":"sylvestre.gug@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"exclude":["test/build/src/bin/","test/build/src/client/","test/build/src/convert.js","test/build/src/observableApiConfig.js","test/build/src/preview.js"],"include":["test/build/src/**/*.js"],"reporter":["text","lcov"]},"bin":{"observable":"dist/bin/observable.js"},"dist":{"shasum":"7b71eff6529f1ecbbf25ec952310ec7d0b09d985","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.1.1.tgz","fileCount":123,"integrity":"sha512-d1CLZVLHr2Lsj58+EkodM+iFMylWxghvwe/CelHmVoaowjfBldqjdg4j/LqjvjQnG1wpBv5WvuqJkkF7lCnc7g==","signatures":[{"sig":"MEUCIHSgpSec4BrNnPCZWXXklUmR26ez3i284DiuKLygev/9AiEA2ROpgG2blHXmsx8bv2y6OCxcVVMIdWPDfsVj+ZugOpQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":319599},"type":"module","engines":{"node":">=18"},"gitHead":"3aa45e549314eae40ed867982608ca78db7c2db1","scripts":{"dev":"rimraf --glob docs/themes.md docs/theme/*.md && (tsx watch docs/theme/generate-themes.ts & tsx watch --no-warnings=ExperimentalWarning ./src/bin/observable.ts preview --no-open)","test":"concurrently npm:test:mocha npm:test:tsc npm:test:lint npm:test:prettier","build":"rimraf dist && node build.js --outdir=dist --outbase=src \"src/**/*.{ts,js,css}\" --ignore \"**/*.d.ts\"","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","docs:build":"yarn docs:themes && rimraf docs/.observablehq/dist && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts build","observable":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts","test:build":"rimraf test/build && node build.js --sourcemap --outdir=test/build \"{src,test}/**/*.{ts,js,css}\" --ignore \"test/input/**\" --ignore \"test/output/**\" --ignore \"test/preview/dashboard/**\" --ignore \"**/*.d.ts\" && cp -r templates test/build","test:mocha":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha -p \"test/build/test/**/*-test.js\"","docs:deploy":"yarn docs:themes && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts deploy","docs:themes":"rimraf --glob docs/themes.md docs/theme/*.md && tsx docs/theme/generate-themes.ts","test:coverage":"c8 --check-coverage --lines 80 --per-file yarn test:mocha","test:prettier":"prettier --check src test","prepublishOnly":"yarn build","test:mocha:serial":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha \"test/build/test/**/*-test.js\""},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.2.4","description":"- [Documentation](https://observablehq.com/framework/) - [Changelog](https://github.com/observablehq/framework/releases) - [Issues](https://github.com/observablehq/framework/issues)","directories":{},"_nodeVersion":"20.11.1","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"^4.7.1","mime":"^3.0.0","open":"^9.1.0","send":"^0.18.0","acorn":"^8.11.2","jsdom":"^24.0.0","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","semver":"^7.5.4","ci-info":"^4.0.0","esbuild":"^0.19.8","d3-array":"^3.2.4","cross-env":"^7.0.3","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","tar-stream":"^3.1.6","cross-spawn":"^7.0.3","gray-matter":"^4.0.3","markdown-it":"^13.0.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","markdown-it-anchor":"^8.6.7","@observablehq/inputs":"^0.10.6","@observablehq/runtime":"^5.9.4","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^8.0.1","chai":"^4.3.10","glob":"^10.3.10","mocha":"^10.2.0","tempy":"^3.1.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","rimraf":"^5.0.5","undici":"^5.27.2","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/jsdom":"^21.1.6","@types/mocha":"^10.0.2","concurrently":"^8.2.2","@types/prompts":"^2.4.9","@types/d3-array":"^3.2.1","fast-deep-equal":"^3.1.3","@types/tar-stream":"^3.1.3","@types/cross-spawn":"^6.0.6","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.7.3","@typescript-eslint/eslint-plugin":"^6.7.3","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.1.1_1709589300846_0.624873049691429","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"@observablehq/framework","version":"1.1.2","license":"ISC","_id":"@observablehq/framework@1.1.2","maintainers":[{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"sylvestre67","email":"sylvestre.gug@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"exclude":["test/build/src/bin/","test/build/src/client/","test/build/src/convert.js","test/build/src/observableApiConfig.js","test/build/src/preview.js"],"include":["test/build/src/**/*.js"],"reporter":["text","lcov"]},"bin":{"observable":"dist/bin/observable.js"},"dist":{"shasum":"84b83990cb6512e3bcc6698dba81ed856a74e63e","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.1.2.tgz","fileCount":123,"integrity":"sha512-YblOEZ3qSk//XTNNmWBDurpm99dHYDT2NLFRfyMHK3g+VvV03zJLu4RZraw3NLc5ATZUEJZ4v44evEyv+TNyAQ==","signatures":[{"sig":"MEQCIGk34nzX/Rb0Y8cJjf5mj01+0ZNtROBJBOQCs5ZX+z23AiBS3P/3ezoxcKhhS+9Y2HILyIDWJTf9l/5HjynKw4lWGQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":319702},"type":"module","engines":{"node":">=18"},"gitHead":"b07b78ff68b4827dc08c9a51d70a89524415f2bd","scripts":{"dev":"rimraf --glob docs/themes.md docs/theme/*.md && (tsx watch docs/theme/generate-themes.ts & tsx watch --no-warnings=ExperimentalWarning ./src/bin/observable.ts preview --no-open)","test":"concurrently npm:test:mocha npm:test:tsc npm:test:lint npm:test:prettier","build":"rimraf dist && node build.js --outdir=dist --outbase=src \"src/**/*.{ts,js,css}\" --ignore \"**/*.d.ts\"","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","docs:build":"yarn docs:themes && rimraf docs/.observablehq/dist && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts build","observable":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts","test:build":"rimraf test/build && node build.js --sourcemap --outdir=test/build \"{src,test}/**/*.{ts,js,css}\" --ignore \"test/input/**\" --ignore \"test/output/**\" --ignore \"test/preview/dashboard/**\" --ignore \"**/*.d.ts\" && cp -r templates test/build","test:mocha":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha -p \"test/build/test/**/*-test.js\"","docs:deploy":"yarn docs:themes && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts deploy","docs:themes":"rimraf --glob docs/themes.md docs/theme/*.md && tsx docs/theme/generate-themes.ts","test:coverage":"c8 --check-coverage --lines 80 --per-file yarn test:mocha","test:prettier":"prettier --check src test","prepublishOnly":"yarn build","test:mocha:serial":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha \"test/build/test/**/*-test.js\""},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.2.4","description":"- [Documentation](https://observablehq.com/framework/) - [Changelog](https://github.com/observablehq/framework/releases) - [Issues](https://github.com/observablehq/framework/issues)","directories":{},"_nodeVersion":"20.11.1","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"^4.7.1","mime":"^3.0.0","open":"^9.1.0","send":"^0.18.0","acorn":"^8.11.2","jsdom":"^24.0.0","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","semver":"^7.5.4","ci-info":"^4.0.0","esbuild":"^0.19.8","d3-array":"^3.2.4","cross-env":"^7.0.3","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","tar-stream":"^3.1.6","cross-spawn":"^7.0.3","gray-matter":"^4.0.3","markdown-it":"^13.0.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","markdown-it-anchor":"^8.6.7","@observablehq/inputs":"^0.10.6","@observablehq/runtime":"^5.9.4","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^8.0.1","chai":"^4.3.10","glob":"^10.3.10","mocha":"^10.2.0","tempy":"^3.1.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","rimraf":"^5.0.5","undici":"^5.27.2","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/jsdom":"^21.1.6","@types/mocha":"^10.0.2","concurrently":"^8.2.2","@types/prompts":"^2.4.9","@types/d3-array":"^3.2.1","fast-deep-equal":"^3.1.3","@types/tar-stream":"^3.1.3","@types/cross-spawn":"^6.0.6","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.7.3","@typescript-eslint/eslint-plugin":"^6.7.3","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.1.2_1709590850993_0.6287934857838435","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"@observablehq/framework","version":"1.2.0","license":"ISC","_id":"@observablehq/framework@1.2.0","maintainers":[{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"sylvestre67","email":"sylvestre.gug@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"exclude":["test/build/src/bin/","test/build/src/client/","test/build/src/convert.js","test/build/src/observableApiConfig.js","test/build/src/preview.js"],"include":["test/build/src/**/*.js"],"reporter":["text","lcov"]},"bin":{"observable":"dist/bin/observable.js"},"dist":{"shasum":"ba2e27e0876f164379f8cee637827e88d53891f5","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.2.0.tgz","fileCount":128,"integrity":"sha512-pW0Ls2/gQ1oRhr+M6Gi+GUvxzM0FCGrcGzR+NYYNMQyj8tnvOqh0+8ItQP1rs4NPUbNTKl5dns76yfCVRK29Xw==","signatures":[{"sig":"MEUCICgPZpkSKkiUhN4lNYE2iL5f4BuCjmZKCjb1zyGtxAGcAiEAvp1I2dAapZO3FpIrJCEpwxQa7SEPnTbWqNhyssFVLwc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":536594},"type":"module","engines":{"node":">=18"},"gitHead":"b6d1c28f72586151c72d1a70fd46759fcc4265f8","scripts":{"dev":"rimraf --glob docs/themes.md docs/theme/*.md && (tsx watch docs/theme/generate-themes.ts & tsx watch --no-warnings=ExperimentalWarning ./src/bin/observable.ts preview --no-open)","test":"concurrently npm:test:mocha npm:test:tsc npm:test:lint npm:test:prettier","build":"rimraf dist && node build.js --outdir=dist --outbase=src \"src/**/*.{ts,js,css}\" --ignore \"**/*.d.ts\"","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","docs:build":"yarn docs:themes && rimraf docs/.observablehq/dist && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts build","observable":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts","test:build":"rimraf test/build && node build.js --sourcemap --outdir=test/build \"{src,test}/**/*.{ts,js,css}\" --ignore \"test/input/**\" --ignore \"test/output/**\" --ignore \"test/preview/dashboard/**\" --ignore \"**/*.d.ts\" && cp -r templates test/build","test:mocha":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 5000 -p \"test/build/test/**/*-test.js\"","docs:deploy":"yarn docs:themes && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts deploy","docs:themes":"rimraf --glob docs/themes.md docs/theme/*.md && tsx docs/theme/generate-themes.ts","test:coverage":"c8 --check-coverage --lines 80 --per-file yarn test:mocha","test:prettier":"prettier --check src test","prepublishOnly":"yarn build","test:mocha:serial":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 5000 \"test/build/test/**/*-test.js\""},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.2.4","description":"- [Documentation](https://observablehq.com/framework/) - [Changelog](https://github.com/observablehq/framework/releases) - [Issues](https://github.com/observablehq/framework/issues)","directories":{},"_nodeVersion":"20.11.1","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"^4.7.1","mime":"^3.0.0","open":"^9.1.0","send":"^0.18.0","acorn":"^8.11.2","jsdom":"^24.0.0","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","semver":"^7.5.4","ci-info":"^4.0.0","esbuild":"^0.19.8","d3-array":"^3.2.4","cross-env":"^7.0.3","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","tar-stream":"^3.1.6","cross-spawn":"^7.0.3","gray-matter":"^4.0.3","markdown-it":"^13.0.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","markdown-it-anchor":"^8.6.7","@observablehq/inputs":"^0.10.6","@observablehq/runtime":"^5.9.4","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^8.0.1","chai":"^4.3.10","glob":"^10.3.10","mocha":"^10.2.0","tempy":"^3.1.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","rimraf":"^5.0.5","undici":"^5.27.2","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/jsdom":"^21.1.6","@types/mocha":"^10.0.2","concurrently":"^8.2.2","@types/prompts":"^2.4.9","@types/d3-array":"^3.2.1","fast-deep-equal":"^3.1.3","@types/tar-stream":"^3.1.3","@types/cross-spawn":"^6.0.6","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.7.3","@typescript-eslint/eslint-plugin":"^6.7.3","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.2.0_1709754244763_0.8873338112378748","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"@observablehq/framework","version":"1.3.0","license":"ISC","_id":"@observablehq/framework@1.3.0","maintainers":[{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"sylvestre67","email":"sylvestre.gug@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"exclude":["test/build/src/bin/","test/build/src/client/","test/build/src/convert.js","test/build/src/observableApiConfig.js","test/build/src/preview.js"],"include":["test/build/src/**/*.js"],"reporter":["text","lcov"]},"bin":{"observable":"dist/bin/observable.js"},"dist":{"shasum":"02de7ee35c92f12230943b5de4fdc91b243ec226","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.3.0.tgz","fileCount":130,"integrity":"sha512-I2hTPr3ezdc3V585hP2F8eP6Ygt2DC/rBhz1Dz8zPk30xtIasZ9VjPvNnxyScHljTjDIHXi4issFMhc/IHkQEw==","signatures":[{"sig":"MEUCIHIaQhs0umxcwoZZEJKVpJuElqeXRyZRsf/xz3AK1z20AiEAu3Eu2qod0mFDLM5tWKBFFPUrGlZoZpVNT7iAw5qGrE8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":541710},"type":"module","engines":{"node":">=18"},"gitHead":"0815f2aed7f958a66ee7fe93d2723f0dba81c115","scripts":{"dev":"rimraf --glob docs/themes.md docs/theme/*.md && (tsx watch docs/theme/generate-themes.ts & tsx watch --no-warnings=ExperimentalWarning ./src/bin/observable.ts preview --no-open)","test":"concurrently npm:test:mocha npm:test:tsc npm:test:lint npm:test:prettier","build":"rimraf dist && node build.js --outdir=dist --outbase=src \"src/**/*.{ts,js,css}\" --ignore \"**/*.d.ts\"","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","docs:build":"yarn docs:themes && rimraf docs/.observablehq/dist && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts build","observable":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts","test:build":"rimraf test/build && node build.js --sourcemap --outdir=test/build \"{src,test}/**/*.{ts,js,css}\" --ignore \"test/input/**\" --ignore \"test/output/**\" --ignore \"test/preview/dashboard/**\" --ignore \"**/*.d.ts\" && cp -r templates test/build","test:mocha":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 5000 -p \"test/build/test/**/*-test.js\"","docs:deploy":"yarn docs:themes && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts deploy","docs:themes":"rimraf --glob docs/themes.md docs/theme/*.md && tsx docs/theme/generate-themes.ts","test:coverage":"c8 --check-coverage --lines 80 --per-file yarn test:mocha","test:prettier":"prettier --check src test","prepublishOnly":"yarn build","test:mocha:serial":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 5000 \"test/build/test/**/*-test.js\""},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.2.4","description":"- [Documentation](https://observablehq.com/framework/) - [Changelog](https://github.com/observablehq/framework/releases) - [Issues](https://github.com/observablehq/framework/issues)","directories":{},"_nodeVersion":"20.11.1","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"^4.7.1","mime":"^4.0.0","open":"^10.1.0","send":"^0.18.0","acorn":"^8.11.2","jsdom":"^24.0.0","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","semver":"^7.5.4","ci-info":"^4.0.0","esbuild":"^0.20.1","d3-array":"^3.2.4","cross-env":"^7.0.3","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","tar-stream":"^3.1.6","cross-spawn":"^7.0.3","gray-matter":"^4.0.3","markdown-it":"^14.0.0","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","markdown-it-anchor":"^8.6.7","@observablehq/inputs":"^0.10.6","@observablehq/runtime":"^5.9.4","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^9.1.0","chai":"^4.3.10","glob":"^10.3.10","mocha":"^10.2.0","tempy":"^3.1.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","rimraf":"^5.0.5","undici":"^6.7.1","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/jsdom":"^21.1.6","@types/mocha":"^10.0.2","concurrently":"^8.2.2","@types/prompts":"^2.4.9","@types/d3-array":"^3.2.1","fast-deep-equal":"^3.1.3","@types/tar-stream":"^3.1.3","@types/cross-spawn":"^6.0.6","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^7.2.0","@typescript-eslint/eslint-plugin":"^7.2.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.3.0_1710355449343_0.5578044191824378","host":"s3://npm-registry-packages"}},"1.4.0":{"name":"@observablehq/framework","version":"1.4.0","license":"ISC","_id":"@observablehq/framework@1.4.0","maintainers":[{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"sylvestre67","email":"sylvestre.gug@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"exclude":["test/build/src/bin/","test/build/src/client/","test/build/src/convert.js","test/build/src/observableApiConfig.js","test/build/src/preview.js"],"include":["test/build/src/**/*.js"],"reporter":["text","lcov"]},"bin":{"observable":"dist/bin/observable.js"},"dist":{"shasum":"77f4660da3b64ad56dc74dbc41ea230d996f9cb5","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.4.0.tgz","fileCount":131,"integrity":"sha512-NWrfFLY/KJvXa8FlgDjgLKRCPpASkKqY9Np2i2Se+XtvfPwnu/Ki0bawGlIyADt/ZQMwjn1HhSw8VY++tsdlHg==","signatures":[{"sig":"MEYCIQD3C6lxHnMeY0ucYTBm3flLBHIfkBhRbIKNof/spL+zJAIhAIDQG2fjPPK3BQIjxh9fs/tJw9EWTVWh8o9lQWZU2QDy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":556185},"type":"module","engines":{"node":">=18"},"gitHead":"263fe660454dd8cf8d2079a29d8375f2de55ba38","scripts":{"dev":"rimraf --glob docs/themes.md docs/theme/*.md && (tsx watch docs/theme/generate-themes.ts & tsx watch --no-warnings=ExperimentalWarning ./src/bin/observable.ts preview --no-open)","test":"concurrently npm:test:mocha npm:test:tsc npm:test:lint npm:test:prettier","build":"rimraf dist && node build.js --outdir=dist --outbase=src \"src/**/*.{ts,js,css}\" --ignore \"**/*.d.ts\"","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","docs:build":"yarn docs:themes && rimraf docs/.observablehq/dist && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts build","observable":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts","test:build":"rimraf test/build && node build.js --sourcemap --outdir=test/build \"{src,test}/**/*.{ts,js,css}\" --ignore \"test/input/**\" --ignore \"test/output/**\" --ignore \"test/preview/dashboard/**\" --ignore \"**/*.d.ts\" && cp -r templates test/build","test:mocha":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 5000 -p \"test/build/test/**/*-test.js\"","docs:deploy":"yarn docs:themes && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts deploy","docs:themes":"rimraf --glob docs/themes.md docs/theme/*.md && tsx docs/theme/generate-themes.ts","test:coverage":"c8 --check-coverage --lines 80 --per-file yarn test:mocha","test:prettier":"prettier --check src test","prepublishOnly":"yarn build","test:mocha:serial":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 5000 \"test/build/test/**/*-test.js\""},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.2.4","description":"- [Documentation](https://observablehq.com/framework/) - [Changelog](https://github.com/observablehq/framework/releases) - [Issues](https://github.com/observablehq/framework/issues)","directories":{},"_nodeVersion":"20.11.1","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"^4.7.1","mime":"^4.0.0","open":"^10.1.0","send":"^0.18.0","acorn":"^8.11.2","jsdom":"^24.0.0","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","semver":"^7.5.4","ci-info":"^4.0.0","esbuild":"^0.20.1","d3-array":"^3.2.4","cross-env":"^7.0.3","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","tar-stream":"^3.1.6","cross-spawn":"^7.0.3","gray-matter":"^4.0.3","markdown-it":"^14.0.0","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","markdown-it-anchor":"^8.6.7","@observablehq/inputs":"^0.10.6","@observablehq/runtime":"^5.9.4","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^9.1.0","chai":"^4.3.10","glob":"^10.3.10","mocha":"^10.2.0","tempy":"^3.1.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","rimraf":"^5.0.5","undici":"^6.7.1","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/jsdom":"^21.1.6","@types/mocha":"^10.0.2","concurrently":"^8.2.2","@types/prompts":"^2.4.9","@types/d3-array":"^3.2.1","fast-deep-equal":"^3.1.3","@types/tar-stream":"^3.1.3","@types/cross-spawn":"^6.0.6","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^7.2.0","@typescript-eslint/eslint-plugin":"^7.2.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.4.0_1710892867373_0.9580509564219424","host":"s3://npm-registry-packages"}},"1.5.0":{"name":"@observablehq/framework","version":"1.5.0","license":"ISC","_id":"@observablehq/framework@1.5.0","maintainers":[{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"sylvestre67","email":"sylvestre.gug@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"exclude":["test/build/src/bin/","test/build/src/client/","test/build/src/convert.js","test/build/src/observableApiConfig.js","test/build/src/preview.js"],"include":["test/build/src/**/*.js"],"reporter":["text","lcov"]},"bin":{"observable":"dist/bin/observable.js"},"dist":{"shasum":"73844b99e1bf271b63fc061772830245d2da8fa1","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.5.0.tgz","fileCount":132,"integrity":"sha512-oiNE83/yqk+Dm6Glc/fePJh4xgla0JsD1EP6YMDdl9+T6K8vRc3s8jo807Vy9MoQYUTX2LHh+T6ySPmxa8AjEw==","signatures":[{"sig":"MEUCIBZCLj4wIhXQ2dqhAw/T6ZslJjXmQvp7uSiK8Uh/0WjzAiEA7UySAgzd9REZ4H8A4v+MIAo3Yr8AnGLbvFamRr4kriA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":560631},"type":"module","engines":{"node":">=18"},"gitHead":"0186815b016bc9ba38619e86cff6d68ea1dde18a","scripts":{"dev":"rimraf --glob docs/themes.md docs/theme/*.md && (tsx watch docs/theme/generate-themes.ts & tsx watch --no-warnings=ExperimentalWarning ./src/bin/observable.ts preview --no-open)","test":"concurrently npm:test:mocha npm:test:tsc npm:test:lint npm:test:prettier","build":"rimraf dist && node build.js --outdir=dist --outbase=src \"src/**/*.{ts,js,css}\" --ignore \"**/*.d.ts\"","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","docs:build":"yarn docs:themes && rimraf docs/.observablehq/dist && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts build","observable":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts","test:build":"rimraf test/build && node build.js --sourcemap --outdir=test/build \"{src,test}/**/*.{ts,js,css}\" --ignore \"test/input/**\" --ignore \"test/output/**\" --ignore \"test/preview/dashboard/**\" --ignore \"**/*.d.ts\" && cp -r templates test/build","test:mocha":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 5000 -p \"test/build/test/**/*-test.js\"","docs:deploy":"yarn docs:themes && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts deploy","docs:themes":"rimraf --glob docs/themes.md docs/theme/*.md && tsx docs/theme/generate-themes.ts","test:coverage":"c8 --check-coverage --lines 80 --per-file yarn test:mocha","test:prettier":"prettier --check src test","prepublishOnly":"yarn build","test:mocha:serial":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 5000 \"test/build/test/**/*-test.js\""},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.2.4","description":"- [Documentation](https://observablehq.com/framework/) - [Changelog](https://github.com/observablehq/framework/releases) - [Issues](https://github.com/observablehq/framework/issues)","directories":{},"_nodeVersion":"20.11.1","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"^4.7.1","mime":"^4.0.0","open":"^10.1.0","send":"^0.18.0","acorn":"^8.11.2","jsdom":"^24.0.0","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","semver":"^7.5.4","ci-info":"^4.0.0","esbuild":"^0.20.1","d3-array":"^3.2.4","cross-env":"^7.0.3","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","tar-stream":"^3.1.6","cross-spawn":"^7.0.3","gray-matter":"^4.0.3","markdown-it":"^14.0.0","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","markdown-it-anchor":"^8.6.7","@observablehq/inputs":"^0.10.6","@observablehq/runtime":"^5.9.4","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^9.1.0","chai":"^4.3.10","glob":"^10.3.10","mocha":"^10.2.0","tempy":"^3.1.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","rimraf":"^5.0.5","undici":"^6.7.1","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","d3-format":"^3.1.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/jsdom":"^21.1.6","@types/mocha":"^10.0.2","concurrently":"^8.2.2","@types/prompts":"^2.4.9","@types/d3-array":"^3.2.1","fast-deep-equal":"^3.1.3","@types/d3-format":"^3.0.4","@types/tar-stream":"^3.1.3","@types/cross-spawn":"^6.0.6","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^7.2.0","@typescript-eslint/eslint-plugin":"^7.2.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.5.0_1711483431134_0.18836510207990842","host":"s3://npm-registry-packages"}},"1.5.1":{"name":"@observablehq/framework","version":"1.5.1","license":"ISC","_id":"@observablehq/framework@1.5.1","maintainers":[{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"sylvestre67","email":"sylvestre.gug@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"exclude":["test/build/src/bin/","test/build/src/client/","test/build/src/convert.js","test/build/src/observableApiConfig.js","test/build/src/preview.js"],"include":["test/build/src/**/*.js"],"reporter":["text","lcov"]},"bin":{"observable":"dist/bin/observable.js"},"dist":{"shasum":"35c0713693be42e55d71347294d26b45c9f549e3","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.5.1.tgz","fileCount":132,"integrity":"sha512-nZaZ3/2xM0NUkahna5SGy1KaYf/4QmaBf9f7Gabcwzi/8pxRD8fwy3ffmW947C6ejNJAmIftSfPcq7mnb7S2OA==","signatures":[{"sig":"MEUCIQCfrLA7mDJSCuL4lMP/29Zgbc4ouh3JIqmka5G5tL7luwIgPo6UumxE4P3R8Nj1UB6cALyXAv8vuLYfCAQNLQjDito=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":561471},"type":"module","engines":{"node":">=18"},"gitHead":"1ae59fc64bdaae653b7b8489fd8eebbb8f711012","scripts":{"dev":"rimraf --glob docs/themes.md docs/theme/*.md && (tsx watch docs/theme/generate-themes.ts & tsx watch --no-warnings=ExperimentalWarning ./src/bin/observable.ts preview --no-open)","test":"concurrently npm:test:mocha npm:test:tsc npm:test:lint npm:test:prettier","build":"rimraf dist && node build.js --outdir=dist --outbase=src \"src/**/*.{ts,js,css}\" --ignore \"**/*.d.ts\"","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","docs:build":"yarn docs:themes && rimraf docs/.observablehq/dist && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts build","observable":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts","test:build":"rimraf test/build && node build.js --sourcemap --outdir=test/build \"{src,test}/**/*.{ts,js,css}\" --ignore \"test/input/**\" --ignore \"test/output/**\" --ignore \"test/preview/dashboard/**\" --ignore \"**/*.d.ts\" && cp -r templates test/build","test:mocha":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 5000 -p \"test/build/test/**/*-test.js\"","docs:deploy":"yarn docs:themes && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts deploy","docs:themes":"rimraf --glob docs/themes.md docs/theme/*.md && tsx docs/theme/generate-themes.ts","test:coverage":"c8 --check-coverage --lines 80 --per-file yarn test:mocha","test:prettier":"prettier --check src test","prepublishOnly":"yarn build","test:mocha:serial":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 5000 \"test/build/test/**/*-test.js\""},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.2.4","description":"- [Documentation](https://observablehq.com/framework/) - [Changelog](https://github.com/observablehq/framework/releases) - [Issues](https://github.com/observablehq/framework/issues)","directories":{},"_nodeVersion":"20.11.1","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"^4.7.1","mime":"^4.0.0","open":"^10.1.0","send":"^0.18.0","acorn":"^8.11.2","jsdom":"^24.0.0","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","semver":"^7.5.4","ci-info":"^4.0.0","esbuild":"^0.20.1","d3-array":"^3.2.4","cross-env":"^7.0.3","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","tar-stream":"^3.1.6","cross-spawn":"^7.0.3","gray-matter":"^4.0.3","markdown-it":"^14.0.0","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","markdown-it-anchor":"^8.6.7","@observablehq/inputs":"^0.10.6","@observablehq/runtime":"^5.9.4","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^9.1.0","chai":"^4.3.10","glob":"^10.3.10","mocha":"^10.2.0","tempy":"^3.1.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","rimraf":"^5.0.5","undici":"^6.7.1","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","d3-format":"^3.1.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/jsdom":"^21.1.6","@types/mocha":"^10.0.2","concurrently":"^8.2.2","@types/prompts":"^2.4.9","@types/d3-array":"^3.2.1","fast-deep-equal":"^3.1.3","@types/d3-format":"^3.0.4","@types/tar-stream":"^3.1.3","@types/cross-spawn":"^6.0.6","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^7.2.0","@typescript-eslint/eslint-plugin":"^7.2.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.5.1_1711559908037_0.11713570933260309","host":"s3://npm-registry-packages"}},"1.6.0":{"name":"@observablehq/framework","version":"1.6.0","license":"ISC","_id":"@observablehq/framework@1.6.0","maintainers":[{"name":"mcglincy","email":"mcglincy@observablehq.com"},{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"exclude":["test/build/src/bin/","test/build/src/client/","test/build/src/convert.js","test/build/src/observableApiConfig.js","test/build/src/preview.js"],"include":["test/build/src/**/*.js"],"reporter":["text","lcov"]},"bin":{"observable":"dist/bin/observable.js"},"dist":{"shasum":"03c05afc5738271f7031cce521bad1042887ebc4","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.6.0.tgz","fileCount":133,"integrity":"sha512-Uak5dm2guoEe2zwz3zG8rCn3Z5Kb2ql9j+Lo3xKiJYH0epYdfNpdyoUeghkN3HO4DgMu8bUxtgGLPWBiUF0rzg==","signatures":[{"sig":"MEQCIH0vyGWZJpgNxl5335h6inYQA4VKrIiQqyAI8w2x4LKLAiA5SiUTvE+sXajhkuSC4ETRueD4S9ZTlollqOfWhdIKrA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":465489},"type":"module","engines":{"node":">=18"},"gitHead":"529ee37892e9e1bac623545a90243e393b713cc0","scripts":{"dev":"rimraf --glob docs/themes.md docs/theme/*.md && (tsx watch docs/theme/generate-themes.ts & tsx watch --no-warnings=ExperimentalWarning ./src/bin/observable.ts preview --no-open)","test":"concurrently npm:test:mocha npm:test:tsc npm:test:lint npm:test:prettier","build":"rimraf dist && node build.js --outdir=dist --outbase=src \"src/**/*.{ts,js,css}\" --ignore \"**/*.d.ts\"","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","docs:build":"yarn docs:themes && rimraf docs/.observablehq/dist && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts build","observable":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts","test:build":"rimraf test/build && node build.js --sourcemap --outdir=test/build \"{src,test}/**/*.{ts,js,css}\" --ignore \"test/input/**\" --ignore \"test/output/**\" --ignore \"test/preview/dashboard/**\" --ignore \"**/*.d.ts\" && cp -r templates test/build","test:mocha":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 -p \"test/build/test/**/*-test.js\"","docs:deploy":"yarn docs:themes && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts deploy","docs:themes":"rimraf --glob docs/themes.md docs/theme/*.md && tsx docs/theme/generate-themes.ts","test:coverage":"c8 --check-coverage --lines 80 --per-file yarn test:mocha","test:prettier":"prettier --check src test","prepublishOnly":"yarn build","test:mocha:serial":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/*-test.js\""},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.5.0","description":"- [Documentation](https://observablehq.com/framework/) - [Changelog](https://github.com/observablehq/framework/releases) - [Issues](https://github.com/observablehq/framework/issues)","directories":{},"_nodeVersion":"20.12.1","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"^4.7.1","mime":"^4.0.0","open":"^10.1.0","send":"^0.18.0","acorn":"^8.11.2","jsdom":"^24.0.0","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","semver":"^7.5.4","ci-info":"^4.0.0","esbuild":"^0.20.1","pkg-dir":"^8.0.0","d3-array":"^3.2.4","cross-env":"^7.0.3","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","tar-stream":"^3.1.6","cross-spawn":"^7.0.3","gray-matter":"^4.0.3","markdown-it":"^14.0.0","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","markdown-it-anchor":"^8.6.7","@observablehq/inputs":"^0.10.6","@observablehq/runtime":"^5.9.4","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-virtual":"^3.0.2","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^9.1.0","chai":"^4.3.10","glob":"^10.3.10","mocha":"^10.2.0","react":"^18.2.0","tempy":"^3.1.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","rimraf":"^5.0.5","undici":"^6.7.1","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","d3-format":"^3.1.0","react-dom":"^18.2.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/jsdom":"^21.1.6","@types/mocha":"^10.0.2","concurrently":"^8.2.2","@types/prompts":"^2.4.9","@types/d3-array":"^3.2.1","fast-deep-equal":"^3.1.3","@types/d3-format":"^3.0.4","@types/tar-stream":"^3.1.3","@types/cross-spawn":"^6.0.6","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^7.2.0","@typescript-eslint/eslint-plugin":"^7.2.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.6.0_1713284375863_0.11726193871607515","host":"s3://npm-registry-packages"}},"1.7.0":{"name":"@observablehq/framework","version":"1.7.0","license":"ISC","_id":"@observablehq/framework@1.7.0","maintainers":[{"name":"mcglincy","email":"mcglincy@observablehq.com"},{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"exclude":["test/build/src/bin/","test/build/src/client/","test/build/src/convert.js","test/build/src/observableApiConfig.js","test/build/src/preview.js"],"include":["test/build/src/**/*.js"],"reporter":["text","lcov"]},"bin":{"observable":"dist/bin/observable.js"},"dist":{"shasum":"170e82dac37cc9e84c63b29cedcc742fb072f197","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.7.0.tgz","fileCount":135,"integrity":"sha512-2+2+ZXyAyv9Z+DPlIZqqbXU+6aFXoeOoTy8BHAEnUnQSFMsfGis2tUZYZVLpm6TTY8182bVJYHTZ7gkoHvPCNg==","signatures":[{"sig":"MEUCIQCmLmcNbAluuDR2OX80ApnkGcLL+xheZs3SFwgLl7lwaQIgNlehLVaVFJP3nMUdfkpK4EkI66COd0lWXq/YWAmpkco=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":469799},"type":"module","engines":{"node":">=18"},"gitHead":"7d7ce8263cf8230a293ac98f2e70ceccd7811a7e","scripts":{"dev":"rimraf --glob docs/themes.md docs/theme/*.md && (tsx watch docs/theme/generate-themes.ts & tsx watch --no-warnings=ExperimentalWarning ./src/bin/observable.ts preview --no-open)","test":"concurrently npm:test:mocha npm:test:tsc npm:test:lint npm:test:prettier","build":"rimraf dist && node build.js --outdir=dist --outbase=src \"src/**/*.{ts,js,css}\" --ignore \"**/*.d.ts\"","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","docs:build":"yarn docs:themes && rimraf docs/.observablehq/dist && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts build","observable":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts","test:build":"rimraf test/build && node build.js --sourcemap --outdir=test/build \"{src,test}/**/*.{ts,js,css}\" --ignore \"test/input/**\" --ignore \"test/output/**\" --ignore \"test/preview/dashboard/**\" --ignore \"**/*.d.ts\" && cp -r templates test/build","test:mocha":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 -p \"test/build/test/**/*-test.js\"","docs:deploy":"yarn docs:themes && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts deploy","docs:themes":"rimraf --glob docs/themes.md docs/theme/*.md && tsx docs/theme/generate-themes.ts","test:coverage":"c8 --check-coverage --lines 80 --per-file yarn test:mocha","test:prettier":"prettier --check src test","prepublishOnly":"yarn build","test:mocha:serial":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/*-test.js\""},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.5.0","description":"- [Documentation](https://observablehq.com/framework/) - [Changelog](https://github.com/observablehq/framework/releases) - [Issues](https://github.com/observablehq/framework/issues)","directories":{},"_nodeVersion":"20.12.2","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"^4.7.1","mime":"^4.0.0","open":"^10.1.0","send":"^0.18.0","acorn":"^8.11.2","jsdom":"^24.0.0","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","semver":"^7.5.4","ci-info":"^4.0.0","esbuild":"^0.20.1","pkg-dir":"^8.0.0","d3-array":"^3.2.4","cross-env":"^7.0.3","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","tar-stream":"^3.1.6","cross-spawn":"^7.0.3","gray-matter":"^4.0.3","markdown-it":"^14.0.0","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","markdown-it-anchor":"^8.6.7","@rollup/plugin-json":"^6.1.0","@observablehq/inputs":"^0.10.6","@observablehq/runtime":"^5.9.4","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-virtual":"^3.0.2","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^9.1.0","chai":"^4.3.10","glob":"^10.3.10","mocha":"^10.2.0","react":"^18.2.0","tempy":"^3.1.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","rimraf":"^5.0.5","undici":"^6.7.1","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","d3-format":"^3.1.0","react-dom":"^18.2.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/jsdom":"^21.1.6","@types/mocha":"^10.0.2","concurrently":"^8.2.2","@types/prompts":"^2.4.9","@types/d3-array":"^3.2.1","fast-deep-equal":"^3.1.3","@types/d3-format":"^3.0.4","@types/tar-stream":"^3.1.3","@types/cross-spawn":"^6.0.6","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^7.2.0","@typescript-eslint/eslint-plugin":"^7.2.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.7.0_1714175107386_0.17285170357179647","host":"s3://npm-registry-packages"}},"1.7.1":{"name":"@observablehq/framework","version":"1.7.1","license":"ISC","_id":"@observablehq/framework@1.7.1","maintainers":[{"name":"mcglincy","email":"mcglincy@observablehq.com"},{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"exclude":["test/build/src/bin/","test/build/src/client/","test/build/src/convert.js","test/build/src/observableApiConfig.js","test/build/src/preview.js"],"include":["test/build/src/**/*.js"],"reporter":["text","lcov"]},"bin":{"observable":"dist/bin/observable.js"},"dist":{"shasum":"989858bc1438a8ef2d4f464506d7f79cecad225e","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.7.1.tgz","fileCount":136,"integrity":"sha512-wCBL/MjkirhTjbuM/nsOWYCoMpeWaXl8Qihk1GpxIZE1VGpUurImDI0LzKzvSDE3U/G86pplOIwvCvfgBHoIuw==","signatures":[{"sig":"MEQCICBRHLVkjOD/xt3myw0hVYhOiUp4A1vPEPbtFjyzvKuOAiAPliw3kUbf/2dlcArAwrlXuwN+1ebxKfSjXtKcHW40tA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":475804},"type":"module","engines":{"node":">=18"},"gitHead":"1a62107c4f8aa1830ad8b169a5e3553b1fa0f9e4","scripts":{"dev":"rimraf --glob docs/themes.md docs/theme/*.md && (tsx watch docs/theme/generate-themes.ts & tsx watch --no-warnings=ExperimentalWarning ./src/bin/observable.ts preview --no-open)","test":"concurrently npm:test:mocha npm:test:tsc npm:test:lint npm:test:prettier","build":"rimraf dist && node build.js --outdir=dist --outbase=src \"src/**/*.{ts,js,css}\" --ignore \"**/*.d.ts\"","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","docs:build":"yarn docs:themes && rimraf docs/.observablehq/dist && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts build","observable":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts","test:build":"rimraf test/build && node build.js --sourcemap --outdir=test/build \"{src,test}/**/*.{ts,js,css}\" --ignore \"test/input/**\" --ignore \"test/output/**\" --ignore \"test/preview/dashboard/**\" --ignore \"**/*.d.ts\" && cp -r templates test/build","test:mocha":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 -p \"test/build/test/**/*-test.js\"","docs:deploy":"yarn docs:themes && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts deploy","docs:themes":"rimraf --glob docs/themes.md docs/theme/*.md && tsx docs/theme/generate-themes.ts","test:coverage":"c8 --check-coverage --lines 80 --per-file yarn test:mocha","test:prettier":"prettier --check src test","prepublishOnly":"yarn build","test:mocha:serial":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/*-test.js\""},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.5.0","description":"[**Observable Framework**](https://observablehq.com/framework/) is a free, [open-source](./LICENSE), static site generator for data apps, dashboards, reports, and more. Framework combines JavaScript on the front-end for interactive graphics with any langu","directories":{},"_nodeVersion":"20.12.2","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"^4.7.1","mime":"^4.0.0","open":"^10.1.0","send":"^0.18.0","acorn":"^8.11.2","jsdom":"^23.2.0","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","semver":"^7.5.4","ci-info":"^4.0.0","esbuild":"^0.20.1","pkg-dir":"^8.0.0","d3-array":"^3.2.4","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","tar-stream":"^3.1.6","cross-spawn":"^7.0.3","gray-matter":"^4.0.3","markdown-it":"^14.0.0","d3-hierarchy":"^3.1.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","markdown-it-anchor":"^8.6.7","@rollup/plugin-json":"^6.1.0","@observablehq/inputs":"^0.10.6","@observablehq/runtime":"^5.9.4","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-virtual":"^3.0.2","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^9.1.0","chai":"^4.3.10","glob":"^10.3.10","mocha":"^10.2.0","react":"^18.2.0","tempy":"^3.1.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","rimraf":"^5.0.5","undici":"^6.7.1","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","cross-env":"^7.0.3","d3-format":"^3.1.0","react-dom":"^18.2.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/jsdom":"^21.1.6","@types/mocha":"^10.0.2","concurrently":"^8.2.2","@types/prompts":"^2.4.9","@types/d3-array":"^3.2.1","fast-deep-equal":"^3.1.3","@types/d3-format":"^3.0.4","@types/tar-stream":"^3.1.3","@types/cross-spawn":"^6.0.6","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^7.2.0","@typescript-eslint/eslint-plugin":"^7.2.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.7.1_1715650658942_0.6332074635559568","host":"s3://npm-registry-packages"}},"1.8.0":{"name":"@observablehq/framework","version":"1.8.0","license":"ISC","_id":"@observablehq/framework@1.8.0","maintainers":[{"name":"mcglincy","email":"mcglincy@observablehq.com"},{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"exclude":["test/build/src/bin/","test/build/src/client/","test/build/src/convert.js","test/build/src/observableApiConfig.js","test/build/src/preview.js"],"include":["test/build/src/**/*.js"],"reporter":["text","lcov"]},"bin":{"observable":"dist/bin/observable.js"},"dist":{"shasum":"d9366c629384e8f26f8ce28d05a2b61a48863550","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.8.0.tgz","fileCount":136,"integrity":"sha512-fiZSMB5NqbeJq6ySmWPg/yXlXv7MITBHYEyKo9JxQLUKZHrQxBs9E70YrIjm3cxP7DFNKOW/bc90qqvVoHTj+A==","signatures":[{"sig":"MEYCIQCaN2I14XUbITd27K8iPEJHn0zz/W6YWBkB7ZwrWlmeAAIhAM5P9yaRbOa872c8GYtzhNGfvDKNMfKxgYt2miCJOR5G","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":479541},"type":"module","engines":{"node":">=18"},"gitHead":"5838c5a34d3b3e1656c6fc5bb244b8414a57d217","scripts":{"dev":"rimraf --glob docs/themes.md docs/theme/*.md && (tsx watch docs/theme/generate-themes.ts & tsx watch --no-warnings=ExperimentalWarning ./src/bin/observable.ts preview --no-open)","test":"concurrently npm:test:mocha npm:test:tsc npm:test:lint npm:test:prettier","build":"rimraf dist && node build.js --outdir=dist --outbase=src \"src/**/*.{ts,js,css}\" --ignore \"**/*.d.ts\"","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","docs:build":"yarn docs:themes && rimraf docs/.observablehq/dist && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts build","observable":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts","test:build":"rimraf test/build && node build.js --sourcemap --outdir=test/build \"{src,test}/**/*.{ts,js,css}\" --ignore \"test/input/**\" --ignore \"test/output/**\" --ignore \"test/preview/dashboard/**\" --ignore \"**/*.d.ts\" && cp -r templates test/build","test:mocha":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 -p \"test/build/test/**/*-test.js\"","docs:deploy":"yarn docs:themes && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts deploy","docs:themes":"rimraf --glob docs/themes.md docs/theme/*.md && tsx docs/theme/generate-themes.ts","test:coverage":"c8 --check-coverage --lines 80 --per-file yarn test:mocha","test:prettier":"prettier --check src test","prepublishOnly":"yarn build","test:mocha:serial":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/*-test.js\""},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.5.2","description":"[**Observable Framework**](https://observablehq.com/framework/) is a free, [open-source](./LICENSE), static site generator for data apps, dashboards, reports, and more. Framework combines JavaScript on the front-end for interactive graphics with any langu","directories":{},"_nodeVersion":"20.13.1","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"^4.7.1","mime":"^4.0.0","open":"^10.1.0","send":"^0.18.0","acorn":"^8.11.2","jsdom":"^23.2.0","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","semver":"^7.5.4","ci-info":"^4.0.0","esbuild":"^0.20.1","pkg-dir":"^8.0.0","d3-array":"^3.2.4","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","tar-stream":"^3.1.6","cross-spawn":"^7.0.3","gray-matter":"^4.0.3","markdown-it":"^14.0.0","d3-hierarchy":"^3.1.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","markdown-it-anchor":"^8.6.7","@rollup/plugin-json":"^6.1.0","@observablehq/inputs":"^0.10.6","@observablehq/runtime":"^5.9.4","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-virtual":"^3.0.2","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^9.1.0","chai":"^4.3.10","glob":"^10.3.10","mocha":"^10.2.0","react":"^18.2.0","tempy":"^3.1.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","rimraf":"^5.0.5","undici":"^6.7.1","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","cross-env":"^7.0.3","d3-format":"^3.1.0","react-dom":"^18.2.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/jsdom":"^21.1.6","@types/mocha":"^10.0.2","concurrently":"^8.2.2","@types/prompts":"^2.4.9","@types/d3-array":"^3.2.1","fast-deep-equal":"^3.1.3","@types/d3-format":"^3.0.4","@types/tar-stream":"^3.1.3","@types/cross-spawn":"^6.0.6","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^7.2.0","@typescript-eslint/eslint-plugin":"^7.2.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.8.0_1716595314123_0.9321290483120277","host":"s3://npm-registry-packages"}},"1.9.0":{"name":"@observablehq/framework","version":"1.9.0","license":"ISC","_id":"@observablehq/framework@1.9.0","maintainers":[{"name":"mcglincy","email":"mcglincy@observablehq.com"},{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"exclude":["test/build/src/bin/","test/build/src/client/","test/build/src/convert.js","test/build/src/observableApiConfig.js","test/build/src/preview.js"],"include":["test/build/src/**/*.js"],"reporter":["text","lcov"]},"bin":{"observable":"dist/bin/observable.js"},"dist":{"shasum":"0c99f6ede2c6b6ae125fcd97f64730f1b6ad4fe4","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.9.0.tgz","fileCount":135,"integrity":"sha512-A2RGFvNoh9dZBGw3b5PLrsxM0IA7vTDPRz3BwccnWBMjmYnJiwC/GkCiDoLI3Y2jB3rX0sjFFjlMMCu4Ufk8NA==","signatures":[{"sig":"MEUCIQCmzK59bat6t4Pu3jKkMK3jO63igT9/lb5mPzvKO21FVAIgDGlDAfbJ7OzO5b5TbfVn8WOBwGAEPuLAHsick9BzMz0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397779},"type":"module","engines":{"node":">=18"},"gitHead":"0f2c92ecbc8105548902c44b3fdb858b0083a44e","scripts":{"dev":"rimraf --glob docs/themes.md docs/theme/*.md && (tsx watch docs/theme/generate-themes.ts & tsx watch --ignore docs --no-warnings=ExperimentalWarning ./src/bin/observable.ts preview --no-open)","test":"concurrently npm:test:mocha npm:test:tsc npm:test:lint npm:test:prettier","build":"rimraf dist && node build.js --outdir=dist --outbase=src \"src/**/*.{ts,js,css}\" --ignore \"**/*.d.ts\"","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","docs:build":"yarn docs:themes && rimraf docs/.observablehq/dist && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts build","observable":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts","test:build":"rimraf test/build && node build.js --sourcemap --outdir=test/build \"{src,test}/**/*.{ts,js,css}\" --ignore \"test/input/**\" --ignore \"test/output/**\" --ignore \"test/preview/dashboard/**\" --ignore \"**/*.d.ts\" && cp -r templates test/build","test:mocha":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 -p \"test/build/test/**/*-test.js\"","docs:deploy":"yarn docs:themes && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts deploy","docs:themes":"rimraf --glob docs/themes.md docs/theme/*.md && tsx docs/theme/generate-themes.ts","test:coverage":"c8 --check-coverage --lines 80 --per-file yarn test:mocha","test:prettier":"prettier --check src test","prepublishOnly":"yarn build","test:mocha:serial":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/*-test.js\""},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.7.0","description":"[**Observable Framework**](https://observablehq.com/framework/) is a free, [open-source](./LICENSE), static site generator for data apps, dashboards, reports, and more. Framework combines JavaScript on the front-end for interactive graphics with any langu","directories":{},"_nodeVersion":"20.14.0","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"^4.7.1","mime":"^4.0.0","open":"^10.1.0","send":"^0.18.0","acorn":"^8.11.2","jsdom":"^23.2.0","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","semver":"^7.5.4","ci-info":"^4.0.0","esbuild":"^0.20.1","pkg-dir":"^8.0.0","d3-array":"^3.2.4","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","tar-stream":"^3.1.6","cross-spawn":"^7.0.3","gray-matter":"^4.0.3","markdown-it":"^14.0.0","d3-hierarchy":"^3.1.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","fast-deep-equal":"^3.1.3","markdown-it-anchor":"^8.6.7","@rollup/plugin-json":"^6.1.0","@observablehq/inputs":"^0.10.6","@observablehq/runtime":"^5.9.4","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-virtual":"^3.0.2","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^9.1.0","chai":"^4.3.10","glob":"^10.3.10","mocha":"^10.2.0","react":"^18.2.0","tempy":"^3.1.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","rimraf":"^5.0.5","undici":"^6.7.1","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","cross-env":"^7.0.3","d3-format":"^3.1.0","react-dom":"^18.2.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/jsdom":"^21.1.6","@types/mocha":"^10.0.2","concurrently":"^8.2.2","@types/prompts":"^2.4.9","@types/d3-array":"^3.2.1","@types/d3-format":"^3.0.4","@types/tar-stream":"^3.1.3","@types/cross-spawn":"^6.0.6","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^7.2.0","@typescript-eslint/eslint-plugin":"^7.2.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.9.0_1718209351777_0.8004398914065212","host":"s3://npm-registry-packages"}},"1.10.0":{"name":"@observablehq/framework","version":"1.10.0","license":"ISC","_id":"@observablehq/framework@1.10.0","maintainers":[{"name":"obseth","email":"seth@observablehq.com"},{"name":"mcglincy","email":"mcglincy@observablehq.com"},{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"exclude":["test/build/src/bin/","test/build/src/client/","test/build/src/convert.js","test/build/src/observableApiConfig.js","test/build/src/preview.js"],"include":["test/build/src/**/*.js"],"reporter":["text","lcov"]},"bin":{"observable":"dist/bin/observable.js"},"dist":{"shasum":"71ca8dee2964e0b42b9950dfc931958bcedc27f2","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.10.0.tgz","fileCount":135,"integrity":"sha512-Jpo1TSofyCpFSlqiG6FRNJDSpAqLy/wnZplzpGQ/0cBZJcOx2ibDfyL/yZXf/ougBa3k2xW8Hh+0t2WOW3BaZw==","signatures":[{"sig":"MEYCIQDxBzZuRkcHphPG/utG2Bx0q2CzyrqyQ/proIVfGB9MVAIhAPHKTi6+mtC95k+BhQxZHQmDxvC7qieoHEHQGVqMek8b","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":400396},"type":"module","engines":{"node":">=18"},"gitHead":"c5d57f7b4bec45c7081add57ccfba3a8d0e34d11","scripts":{"dev":"rimraf --glob docs/themes.md docs/theme/*.md && (tsx watch docs/theme/generate-themes.ts & tsx watch --ignore docs --no-warnings=ExperimentalWarning ./src/bin/observable.ts preview --no-open)","test":"concurrently npm:test:mocha npm:test:tsc npm:test:lint npm:test:prettier","build":"rimraf dist && node build.js --outdir=dist --outbase=src \"src/**/*.{ts,js,css}\" --ignore \"**/*.d.ts\"","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","docs:build":"yarn docs:themes && rimraf docs/.observablehq/dist && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts build","observable":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts","test:build":"rimraf test/build && node build.js --sourcemap --outdir=test/build \"{src,test}/**/*.{ts,js,css}\" --ignore \"test/input/**\" --ignore \"test/output/**\" --ignore \"test/preview/dashboard/**\" --ignore \"**/*.d.ts\" && cp -r templates test/build","test:mocha":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 -p \"test/build/test/**/*-test.js\"","docs:deploy":"yarn docs:themes && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts deploy","docs:themes":"rimraf --glob docs/themes.md docs/theme/*.md && tsx docs/theme/generate-themes.ts","test:coverage":"c8 --check-coverage --lines 80 --per-file yarn test:mocha","test:prettier":"prettier --check src test","prepublishOnly":"yarn build","test:mocha:serial":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/*-test.js\""},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.8.1","description":"[**Observable Framework**](https://observablehq.com/framework/) is a free, [open-source](./LICENSE), static site generator for data apps, dashboards, reports, and more. Framework combines JavaScript on the front-end for interactive graphics with any langu","directories":{},"_nodeVersion":"20.16.0","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"^4.7.1","mime":"^4.0.0","open":"^10.1.0","send":"^0.18.0","acorn":"^8.11.2","jsdom":"^23.2.0","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","semver":"^7.5.4","ci-info":"^4.0.0","esbuild":"^0.20.1","pkg-dir":"^8.0.0","d3-array":"^3.2.4","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","tar-stream":"^3.1.6","cross-spawn":"^7.0.3","gray-matter":"^4.0.3","markdown-it":"^14.0.0","d3-hierarchy":"^3.1.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","fast-deep-equal":"^3.1.3","markdown-it-anchor":"^8.6.7","@rollup/plugin-json":"^6.1.0","@observablehq/inputs":"^0.11.0","@observablehq/runtime":"^5.9.4","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-virtual":"^3.0.2","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^9.1.0","chai":"^4.3.10","glob":"^10.3.10","mocha":"^10.2.0","react":"^18.2.0","tempy":"^3.1.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","rimraf":"^5.0.5","undici":"^6.7.1","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","cross-env":"^7.0.3","d3-format":"^3.1.0","react-dom":"^18.2.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/jsdom":"^21.1.6","@types/mocha":"^10.0.2","concurrently":"^8.2.2","@types/prompts":"^2.4.9","@types/d3-array":"^3.2.1","@types/d3-format":"^3.0.4","@types/tar-stream":"^3.1.3","@types/cross-spawn":"^6.0.6","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^7.2.0","@typescript-eslint/eslint-plugin":"^7.2.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.10.0_1722988266791_0.30103639044358643","host":"s3://npm-registry-packages"}},"1.10.1":{"name":"@observablehq/framework","version":"1.10.1","license":"ISC","_id":"@observablehq/framework@1.10.1","maintainers":[{"name":"obseth","email":"seth@observablehq.com"},{"name":"mcglincy","email":"mcglincy@observablehq.com"},{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"exclude":["test/build/src/bin/","test/build/src/client/","test/build/src/convert.js","test/build/src/observableApiConfig.js","test/build/src/preview.js"],"include":["test/build/src/**/*.js"],"reporter":["text","lcov"]},"bin":{"observable":"dist/bin/observable.js"},"dist":{"shasum":"56e7f97f2ac4a864362f9b4bd04e0d6ac1ff212a","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.10.1.tgz","fileCount":134,"integrity":"sha512-t4/H0QqBU94jbFoUwOpBiP9PdqEZm64gcnHlqydismDLrYb1eSmXmTJM1xP59/0hTg335CNYk8ciHtAOFEQb8A==","signatures":[{"sig":"MEUCIQDl3pAbRGYRed5uL8BwzlpcIQQY3rvq4IU+yvZsnwrGkgIgIF63VfK6kY4hH6s0Xaz38DpqWXc8IcuZevD/Kwy4MWM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":402702},"type":"module","engines":{"node":">=18"},"gitHead":"a3f57503b85e169ed64515e33890cb7dd6fdb2b0","scripts":{"dev":"rimraf --glob docs/themes.md docs/theme/*.md && (tsx watch docs/theme/generate-themes.ts & tsx watch --ignore docs --no-warnings=ExperimentalWarning ./src/bin/observable.ts preview --no-open)","test":"concurrently npm:test:mocha npm:test:tsc npm:test:lint npm:test:prettier","build":"rimraf dist && node build.js --outdir=dist --outbase=src \"src/**/*.{ts,js,css}\" --ignore \"**/*.d.ts\"","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","docs:build":"yarn docs:themes && rimraf docs/.observablehq/dist && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts build","observable":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts","test:build":"rimraf test/build && node build.js --sourcemap --outdir=test/build \"{src,test}/**/*.{ts,js,css}\" --ignore \"test/input/**\" --ignore \"test/output/**\" --ignore \"test/preview/dashboard/**\" --ignore \"**/*.d.ts\" && cp -r templates test/build","test:mocha":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 -p \"test/build/test/**/*-test.js\"","docs:deploy":"yarn docs:themes && tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts deploy","docs:themes":"rimraf --glob docs/themes.md docs/theme/*.md && tsx docs/theme/generate-themes.ts","test:coverage":"c8 --check-coverage --lines 80 --per-file yarn test:mocha","test:prettier":"prettier --check src test","prepublishOnly":"yarn build","test:mocha:serial":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/*-test.js\""},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.8.1","description":"[**Observable Framework**](https://observablehq.com/framework/) is a free, [open-source](./LICENSE), static site generator for data apps, dashboards, reports, and more. Framework combines JavaScript on the front-end for interactive graphics with any langu","directories":{},"_nodeVersion":"20.16.0","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"^4.7.1","mime":"^4.0.0","open":"^10.1.0","send":"^0.18.0","acorn":"^8.11.2","jsdom":"^23.2.0","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","semver":"^7.5.4","ci-info":"^4.0.0","esbuild":"^0.20.1","pkg-dir":"^8.0.0","d3-array":"^3.2.4","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","tar-stream":"^3.1.6","cross-spawn":"^7.0.3","gray-matter":"^4.0.3","markdown-it":"^14.0.0","d3-hierarchy":"^3.1.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","fast-deep-equal":"^3.1.3","markdown-it-anchor":"^8.6.7","@rollup/plugin-json":"^6.1.0","@observablehq/inputs":"^0.11.0","@observablehq/runtime":"^5.9.4","@sindresorhus/slugify":"^2.2.1","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-virtual":"^3.0.2","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^9.1.0","chai":"^4.3.10","glob":"^10.3.10","mocha":"^10.2.0","react":"^18.2.0","tempy":"^3.1.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","rimraf":"^5.0.5","undici":"^6.7.1","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","cross-env":"^7.0.3","d3-format":"^3.1.0","react-dom":"^18.2.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/jsdom":"^21.1.6","@types/mocha":"^10.0.2","concurrently":"^8.2.2","@types/prompts":"^2.4.9","@types/d3-array":"^3.2.1","@types/d3-format":"^3.0.4","@types/tar-stream":"^3.1.3","@types/cross-spawn":"^6.0.6","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^7.2.0","@typescript-eslint/eslint-plugin":"^7.2.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.10.1_1723223830621_0.6627873142912801","host":"s3://npm-registry-packages"}},"1.11.0":{"name":"@observablehq/framework","version":"1.11.0","license":"ISC","_id":"@observablehq/framework@1.11.0","maintainers":[{"name":"obseth","email":"seth@observablehq.com"},{"name":"mcglincy","email":"mcglincy@observablehq.com"},{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"exclude":["test/build/src/bin/","test/build/src/client/","test/build/src/convert.js","test/build/src/observableApiConfig.js","test/build/src/preview.js"],"include":["test/build/src/**/*.js"],"reporter":["text","lcov"]},"bin":{"observable":"dist/bin/observable.js"},"dist":{"shasum":"eacd2324e381a443f23ac0c0ac2e5ee7aa515c4f","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.11.0.tgz","fileCount":136,"integrity":"sha512-yjeHVltzbigIu8gSv0G0ftsRvnv94eIIz1nZiLSUtB12zVkG02SviG1Pl5P0WyqId+yKAsjaHA04cw94+FzcVA==","signatures":[{"sig":"MEQCIE5wFLzMd8G7Xl2m39215oBt0t680zdCbbJ37f9+AHa5AiAgo4nKDGOM5B99PM1uLmtvG2JPk9qBvw1bwFYBNKTSiQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":416741},"type":"module","engines":{"node":">=18"},"gitHead":"10cd9875bdaa7420cd0724513ef23ec13ee3e145","scripts":{"dev":"tsx watch --ignore docs --no-warnings=ExperimentalWarning ./src/bin/observable.ts preview --no-open","test":"concurrently npm:test:mocha npm:test:tsc npm:test:lint npm:test:prettier","build":"rimraf dist && node build.js --outdir=dist --outbase=src \"src/**/*.{ts,js,css}\" --ignore \"**/*.d.ts\"","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","docs:build":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts build","observable":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts","test:build":"rimraf test/build && cross-env npm_package_version=1.0.0-test node build.js --sourcemap --outdir=test/build \"{src,test}/**/*.{ts,js,css}\" --ignore \"test/input/**\" --ignore \"test/output/**\" --ignore \"test/preview/dashboard/**\" --ignore \"**/*.d.ts\" && cp -r templates test/build","test:mocha":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 -p \"test/build/test/**/*-test.js\"","docs:deploy":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts deploy","test:coverage":"c8 --check-coverage --lines 80 --per-file yarn test:mocha","test:prettier":"prettier --check src test","prepublishOnly":"yarn build","test:mocha:serial":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/*-test.js\""},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.8.2","description":"[**Observable Framework**](https://observablehq.com/framework/) is a free, [open-source](./LICENSE), static site generator for data apps, dashboards, reports, and more. Framework combines JavaScript on the front-end for interactive graphics with any langu","directories":{},"_nodeVersion":"20.17.0","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"^4.7.1","glob":"^10.3.10","mime":"^4.0.0","open":"^10.1.0","send":"^0.18.0","acorn":"^8.11.2","jsdom":"^23.2.0","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","semver":"^7.5.4","ci-info":"^4.0.0","esbuild":"^0.20.1","pkg-dir":"^8.0.0","d3-array":"^3.2.4","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","tar-stream":"^3.1.6","cross-spawn":"^7.0.3","gray-matter":"^4.0.3","markdown-it":"^14.0.0","d3-hierarchy":"^3.1.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","fast-deep-equal":"^3.1.3","markdown-it-anchor":"^8.6.7","@rollup/plugin-json":"^6.1.0","@observablehq/inputs":"^0.12.0","@observablehq/runtime":"^5.9.4","@sindresorhus/slugify":"^2.2.1","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-virtual":"^3.0.2","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^9.1.0","chai":"^4.3.10","mocha":"^10.2.0","react":"^18.2.0","tempy":"^3.1.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","rimraf":"^5.0.5","undici":"^6.7.1","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","cross-env":"^7.0.3","d3-format":"^3.1.0","react-dom":"^18.2.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/jsdom":"^21.1.6","@types/mocha":"^10.0.2","concurrently":"^8.2.2","@types/prompts":"^2.4.9","@types/d3-array":"^3.2.1","@types/d3-format":"^3.0.4","@types/tar-stream":"^3.1.3","@types/cross-spawn":"^6.0.6","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^7.2.0","@typescript-eslint/eslint-plugin":"^7.2.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.11.0_1725379763870_0.10619238387481156","host":"s3://npm-registry-packages"}},"1.12.0-alpha.1":{"name":"@observablehq/framework","version":"1.12.0-alpha.1","license":"ISC","_id":"@observablehq/framework@1.12.0-alpha.1","maintainers":[{"name":"obseth","email":"seth@observablehq.com"},{"name":"mcglincy","email":"mcglincy@observablehq.com"},{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"exclude":["test/build/src/bin/","test/build/src/client/","test/build/src/convert.js","test/build/src/observableApiConfig.js","test/build/src/preview.js"],"include":["test/build/src/**/*.js"],"reporter":["text","lcov"]},"bin":{"observable":"dist/bin/observable.js"},"dist":{"shasum":"62267877cada3f474768cbbc5a473ac6bf4dce1e","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.12.0-alpha.1.tgz","fileCount":136,"integrity":"sha512-El36trTh7SiLh8173d/IX98c08gBQtHqdwrM+N1WZg6J1bckwPKds/pdN/C/tkC6dW2mLojtlX34M5hbH2xLkA==","signatures":[{"sig":"MEUCIQDAXhtdJPMPDygmWGtX80KOFMF0fB61AMawsiG4kR+VFQIgfu+AM/dXKkhKq1XZ6vBaZ8qoNwd1U+DgM7rfyafOcyw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":423287},"type":"module","engines":{"node":">=18"},"gitHead":"2d5dcda77d3cecd2bbaed693c442c54c757a9c06","scripts":{"dev":"tsx watch --ignore docs --no-warnings=ExperimentalWarning ./src/bin/observable.ts preview --no-open --cors","test":"concurrently npm:test:mocha npm:test:tsc npm:test:lint npm:test:prettier","build":"rimraf dist && node build.js --outdir=dist --outbase=src \"src/**/*.{ts,js,css}\" --ignore \"**/*.d.ts\"","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","docs:build":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts build","observable":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts","test:build":"rimraf test/build && cross-env npm_package_version=1.0.0-test node build.js --sourcemap --outdir=test/build \"{src,test}/**/*.{ts,js,css}\" --ignore \"test/input/**\" --ignore \"test/output/**\" --ignore \"test/preview/dashboard/**\" --ignore \"**/*.d.ts\" && cp -r templates test/build","test:mocha":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 -p \"test/build/test/**/*-test.js\"","docs:deploy":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts deploy","test:coverage":"c8 --check-coverage --lines 80 --per-file yarn test:mocha","test:prettier":"prettier --check src test","prepublishOnly":"yarn build","test:mocha:serial":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/*-test.js\""},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.7.0","description":"[**Observable Framework**](https://observablehq.com/framework/) is a free, [open-source](./LICENSE), static site generator for data apps, dashboards, reports, and more. Framework combines JavaScript on the front-end for interactive graphics with any langu","directories":{},"_nodeVersion":"20.14.0","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"^4.7.1","glob":"^10.3.10","mime":"^4.0.0","open":"^10.1.0","send":"^0.18.0","acorn":"^8.11.2","jsdom":"^23.2.0","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","semver":"^7.5.4","ci-info":"^4.0.0","esbuild":"^0.20.1","pkg-dir":"^8.0.0","d3-array":"^3.2.4","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","tar-stream":"^3.1.6","cross-spawn":"^7.0.3","gray-matter":"^4.0.3","markdown-it":"^14.0.0","d3-hierarchy":"^3.1.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","fast-deep-equal":"^3.1.3","markdown-it-anchor":"^8.6.7","@rollup/plugin-json":"^6.1.0","@observablehq/inputs":"^0.12.0","@observablehq/runtime":"^5.9.4","@sindresorhus/slugify":"^2.2.1","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-virtual":"^3.0.2","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^9.1.0","chai":"^4.3.10","mocha":"^10.2.0","react":"^18.2.0","tempy":"^3.1.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","rimraf":"^5.0.5","undici":"^6.7.1","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","cross-env":"^7.0.3","d3-format":"^3.1.0","react-dom":"^18.2.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/jsdom":"^21.1.6","@types/mocha":"^10.0.2","concurrently":"^8.2.2","@types/prompts":"^2.4.9","@types/d3-array":"^3.2.1","@types/d3-format":"^3.0.4","@types/tar-stream":"^3.1.3","@types/cross-spawn":"^6.0.6","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^7.2.0","@typescript-eslint/eslint-plugin":"^7.2.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.12.0-alpha.1_1726241093053_0.1488949924297347","host":"s3://npm-registry-packages"}},"1.12.0-alpha.2":{"name":"@observablehq/framework","version":"1.12.0-alpha.2","license":"ISC","_id":"@observablehq/framework@1.12.0-alpha.2","maintainers":[{"name":"obseth","email":"seth@observablehq.com"},{"name":"mcglincy","email":"mcglincy@observablehq.com"},{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"exclude":["test/build/src/bin/","test/build/src/client/","test/build/src/convert.js","test/build/src/observableApiConfig.js","test/build/src/preview.js"],"include":["test/build/src/**/*.js"],"reporter":["text","lcov"]},"bin":{"observable":"dist/bin/observable.js"},"dist":{"shasum":"b0a90652e8b3b1bf4bb9973c98065163555fe9ea","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.12.0-alpha.2.tgz","fileCount":136,"integrity":"sha512-iNsWdDWfYHKdvJpN5YON9rS0ADBsjxf48IcPTAJ3Va8hfGWbz4Y0+fQj9OUfugXoeSnnA4lkZ+YJN29tYDeBVQ==","signatures":[{"sig":"MEUCIQDsvVkpue8GeSocp4z65eOCPgb2eo4nx+SzUSUR8VAu8QIgF8lMp4WL0N/DLcNwvgQmW/aK4ONE/ecg+pjxLDQyPRM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":423288},"type":"module","engines":{"node":">=18"},"gitHead":"6845ea8ad5928d7ca1a0d9517159cf27ea041a5b","scripts":{"dev":"tsx watch --ignore docs --no-warnings=ExperimentalWarning ./src/bin/observable.ts preview --no-open --cors","test":"concurrently npm:test:mocha npm:test:tsc npm:test:lint npm:test:prettier","build":"rimraf dist && node build.js --outdir=dist --outbase=src \"src/**/*.{ts,js,css}\" --ignore \"**/*.d.ts\"","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","docs:build":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts build","observable":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts","test:build":"rimraf test/build && cross-env npm_package_version=1.0.0-test node build.js --sourcemap --outdir=test/build \"{src,test}/**/*.{ts,js,css}\" --ignore \"test/input/**\" --ignore \"test/output/**\" --ignore \"test/preview/dashboard/**\" --ignore \"**/*.d.ts\" && cp -r templates test/build","test:mocha":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 -p \"test/build/test/**/*-test.js\"","docs:deploy":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts deploy","test:coverage":"c8 --check-coverage --lines 80 --per-file yarn test:mocha","test:prettier":"prettier --check src test","prepublishOnly":"yarn build","test:mocha:serial":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/*-test.js\""},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.7.0","description":"[**Observable Framework**](https://observablehq.com/framework/) is a free, [open-source](./LICENSE), static site generator for data apps, dashboards, reports, and more. Framework combines JavaScript on the front-end for interactive graphics with any langu","directories":{},"_nodeVersion":"20.14.0","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"^4.7.1","glob":"^10.3.10","mime":"^4.0.0","open":"^10.1.0","send":"^0.18.0","acorn":"^8.11.2","jsdom":"^23.2.0","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","semver":"^7.5.4","ci-info":"^4.0.0","esbuild":"^0.20.1","pkg-dir":"^8.0.0","d3-array":"^3.2.4","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","tar-stream":"^3.1.6","cross-spawn":"^7.0.3","gray-matter":"^4.0.3","markdown-it":"^14.0.0","d3-hierarchy":"^3.1.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","fast-deep-equal":"^3.1.3","markdown-it-anchor":"^8.6.7","@rollup/plugin-json":"^6.1.0","@observablehq/inputs":"^0.12.0","@observablehq/runtime":"^5.9.4","@sindresorhus/slugify":"^2.2.1","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-virtual":"^3.0.2","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^9.1.0","chai":"^4.3.10","mocha":"^10.2.0","react":"^18.2.0","tempy":"^3.1.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","rimraf":"^5.0.5","undici":"^6.7.1","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","cross-env":"^7.0.3","d3-format":"^3.1.0","react-dom":"^18.2.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/jsdom":"^21.1.6","@types/mocha":"^10.0.2","concurrently":"^8.2.2","@types/prompts":"^2.4.9","@types/d3-array":"^3.2.1","@types/d3-format":"^3.0.4","@types/tar-stream":"^3.1.3","@types/cross-spawn":"^6.0.6","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^7.2.0","@typescript-eslint/eslint-plugin":"^7.2.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.12.0-alpha.2_1726241748783_0.0494890646693229","host":"s3://npm-registry-packages"}},"1.12.0-alpha.3":{"name":"@observablehq/framework","version":"1.12.0-alpha.3","license":"ISC","_id":"@observablehq/framework@1.12.0-alpha.3","maintainers":[{"name":"obseth","email":"seth@observablehq.com"},{"name":"mcglincy","email":"mcglincy@observablehq.com"},{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"exclude":["test/build/src/bin/","test/build/src/client/","test/build/src/convert.js","test/build/src/observableApiConfig.js","test/build/src/preview.js"],"include":["test/build/src/**/*.js"],"reporter":["text","lcov"]},"bin":{"observable":"dist/bin/observable.js"},"dist":{"shasum":"6bfa62decc648f55085b8967fedaf6da2073211b","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.12.0-alpha.3.tgz","fileCount":136,"integrity":"sha512-AB3fMiyeb3sUqanN2qku14lAvqF/yZn/UbbzKIF5tfnt1WNrKWAb3cNt6JYbQQxSaz42aFujkZs6jWqrZgKKQw==","signatures":[{"sig":"MEQCIHdXgfpbSOW8wOKPlRChQHqNAwdNcnrxU8KMjk0gDn7lAiAthNr8M80iRF6vGVRHIwixU1Spjb0U4WOLPIUAjOieKA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":423161},"type":"module","engines":{"node":">=18"},"gitHead":"18cee9b690e6fa9e6a180ff9a071cf88584201d9","scripts":{"dev":"tsx watch --ignore docs --no-warnings=ExperimentalWarning ./src/bin/observable.ts preview --no-open --cors","test":"concurrently npm:test:mocha npm:test:tsc npm:test:lint npm:test:prettier","build":"rimraf dist && node build.js --outdir=dist --outbase=src \"src/**/*.{ts,js,css}\" --ignore \"**/*.d.ts\"","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","docs:build":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts build","observable":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts","test:build":"rimraf test/build && cross-env npm_package_version=1.0.0-test node build.js --sourcemap --outdir=test/build \"{src,test}/**/*.{ts,js,css}\" --ignore \"test/input/**\" --ignore \"test/output/**\" --ignore \"test/preview/dashboard/**\" --ignore \"**/*.d.ts\" && cp -r templates test/build","test:mocha":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 -p \"test/build/test/**/*-test.js\"","docs:deploy":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts deploy","test:coverage":"c8 --check-coverage --lines 80 --per-file yarn test:mocha","test:prettier":"prettier --check src test","prepublishOnly":"yarn build","test:mocha:serial":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/*-test.js\""},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.7.0","description":"[**Observable Framework**](https://observablehq.com/framework/) is a free, [open-source](./LICENSE), static site generator for data apps, dashboards, reports, and more. Framework combines JavaScript on the front-end for interactive graphics with any langu","directories":{},"_nodeVersion":"20.14.0","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"^4.7.1","glob":"^10.3.10","mime":"^4.0.0","open":"^10.1.0","send":"^0.18.0","acorn":"^8.11.2","jsdom":"^23.2.0","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","semver":"^7.5.4","ci-info":"^4.0.0","esbuild":"^0.20.1","pkg-dir":"^8.0.0","d3-array":"^3.2.4","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","tar-stream":"^3.1.6","cross-spawn":"^7.0.3","gray-matter":"^4.0.3","markdown-it":"^14.0.0","d3-hierarchy":"^3.1.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","fast-deep-equal":"^3.1.3","markdown-it-anchor":"^8.6.7","@rollup/plugin-json":"^6.1.0","@observablehq/inputs":"^0.12.0","@observablehq/runtime":"^5.9.4","@sindresorhus/slugify":"^2.2.1","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-virtual":"^3.0.2","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^9.1.0","chai":"^4.3.10","mocha":"^10.2.0","react":"^18.2.0","tempy":"^3.1.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","rimraf":"^5.0.5","undici":"^6.7.1","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","cross-env":"^7.0.3","d3-format":"^3.1.0","react-dom":"^18.2.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/jsdom":"^21.1.6","@types/mocha":"^10.0.2","concurrently":"^8.2.2","@types/prompts":"^2.4.9","@types/d3-array":"^3.2.1","@types/d3-format":"^3.0.4","@types/tar-stream":"^3.1.3","@types/cross-spawn":"^6.0.6","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^7.2.0","@typescript-eslint/eslint-plugin":"^7.2.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.12.0-alpha.3_1726249805212_0.3631725901924556","host":"s3://npm-registry-packages"}},"1.12.0-alpha.4":{"name":"@observablehq/framework","version":"1.12.0-alpha.4","license":"ISC","_id":"@observablehq/framework@1.12.0-alpha.4","maintainers":[{"name":"obseth","email":"seth@observablehq.com"},{"name":"mcglincy","email":"mcglincy@observablehq.com"},{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"exclude":["test/build/src/bin/","test/build/src/client/","test/build/src/convert.js","test/build/src/observableApiConfig.js","test/build/src/preview.js"],"include":["test/build/src/**/*.js"],"reporter":["text","lcov"]},"bin":{"observable":"dist/bin/observable.js"},"dist":{"shasum":"d1561f9ff3133aa6e1a0a464ecddc6ff34e9c269","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.12.0-alpha.4.tgz","fileCount":136,"integrity":"sha512-EJTu+Q9PsIRkDWyRo0TFu3m4bQsuvQ5sUMr2YFwCgIUzu+xCJEvZ8Ksh9OS4DT47gyhHvwpIH5UvSUe7Cv3zcw==","signatures":[{"sig":"MEYCIQCzmGgxwzLtdU7XfcnrIxBdQTLcnToZyC88pZnDFOfiigIhAPGMjHfoiATRS/Z8jwllxNdRQPXqC8201VEwikn4shkW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":424090},"type":"module","engines":{"node":">=18"},"gitHead":"a7578ceb2767db36a9c19073b992b7fec0e062ce","scripts":{"dev":"tsx watch --ignore docs --no-warnings=ExperimentalWarning ./src/bin/observable.ts preview --no-open --cors","test":"concurrently npm:test:mocha npm:test:tsc npm:test:lint npm:test:prettier","build":"rimraf dist && node build.js --outdir=dist --outbase=src \"src/**/*.{ts,js,css}\" --ignore \"**/*.d.ts\"","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","docs:build":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts build","observable":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts","test:build":"rimraf test/build && cross-env npm_package_version=1.0.0-test node build.js --sourcemap --outdir=test/build \"{src,test}/**/*.{ts,js,css}\" --ignore \"test/input/**\" --ignore \"test/output/**\" --ignore \"test/preview/dashboard/**\" --ignore \"**/*.d.ts\" && cp -r templates test/build","test:mocha":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 -p \"test/build/test/**/*-test.js\"","docs:deploy":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts deploy","test:coverage":"c8 --check-coverage --lines 80 --per-file yarn test:mocha","test:prettier":"prettier --check src test","prepublishOnly":"yarn build","test:mocha:serial":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/*-test.js\""},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.7.0","description":"[**Observable Framework**](https://observablehq.com/framework/) is a free, [open-source](./LICENSE), static site generator for data apps, dashboards, reports, and more. Framework combines JavaScript on the front-end for interactive graphics with any langu","directories":{},"_nodeVersion":"20.14.0","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tsx":"^4.7.1","glob":"^10.3.10","mime":"^4.0.0","open":"^10.1.0","send":"^0.18.0","acorn":"^8.11.2","jsdom":"^23.2.0","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","semver":"^7.5.4","ci-info":"^4.0.0","esbuild":"^0.20.1","pkg-dir":"^8.0.0","d3-array":"^3.2.4","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","tar-stream":"^3.1.6","cross-spawn":"^7.0.3","gray-matter":"^4.0.3","markdown-it":"^14.0.0","d3-hierarchy":"^3.1.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","fast-deep-equal":"^3.1.3","markdown-it-anchor":"^8.6.7","@rollup/plugin-json":"^6.1.0","@observablehq/inputs":"^0.12.0","@observablehq/runtime":"^5.9.4","@sindresorhus/slugify":"^2.2.1","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-virtual":"^3.0.2","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^9.1.0","chai":"^4.3.10","mocha":"^10.2.0","react":"^18.2.0","tempy":"^3.1.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","rimraf":"^5.0.5","undici":"^6.7.1","prettier":"^3.0.3 <3.1","@types/he":"^1.2.3","@types/ws":"^8.5.6","chai-http":"^4.4.0","cross-env":"^7.0.3","d3-format":"^3.1.0","react-dom":"^18.2.0","typescript":"^5.2.2","@types/mime":"^3.0.2","@types/node":"^20.7.1","@types/send":"^0.17.2","@types/jsdom":"^21.1.6","@types/mocha":"^10.0.2","concurrently":"^8.2.2","@types/prompts":"^2.4.9","@types/d3-array":"^3.2.1","@types/d3-format":"^3.0.4","@types/tar-stream":"^3.1.3","@types/cross-spawn":"^6.0.6","@types/markdown-it":"^13.0.2","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^7.2.0","@typescript-eslint/eslint-plugin":"^7.2.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.12.0-alpha.4_1726587925647_0.9874089551627585","host":"s3://npm-registry-packages"}},"1.12.0-alpha.5":{"name":"@observablehq/framework","version":"1.12.0-alpha.5","license":"ISC","_id":"@observablehq/framework@1.12.0-alpha.5","maintainers":[{"name":"obseth","email":"seth@observablehq.com"},{"name":"mcglincy","email":"mcglincy@observablehq.com"},{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"exclude":["test/build/src/bin/","test/build/src/client/","test/build/src/convert.js","test/build/src/jsr.js","test/build/src/observableApiConfig.js","test/build/src/preview.js"],"include":["test/build/src/**/*.js"],"reporter":["text","lcov"]},"bin":{"observable":"dist/bin/observable.js"},"dist":{"shasum":"adb6f1c9ba6e78517508877dffe178b9d253eaa6","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.12.0-alpha.5.tgz","fileCount":137,"integrity":"sha512-sgRrMhyXLIPY01LeRA053gXm768rtMowYJ3yDOdjVjhEpn1rFx6gtKjylI1pETg53vkTum82LSBeGPgIb4ElbQ==","signatures":[{"sig":"MEUCIQD5cgMIiHCeMNxXeBDzFd8lXevPyJ+4qMThphMh3rlE3QIgOtxSl5S1s1RpwOy3AnvElS148pTUiziSfuP1GgsKoNk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":439247},"type":"module","engines":{"node":">=18"},"gitHead":"5985bd89cafc0f973b34ea6d14e2f769e4c5f038","scripts":{"dev":"tsx watch --ignore docs --no-warnings=ExperimentalWarning ./src/bin/observable.ts preview --no-open --cors","test":"concurrently npm:test:mocha npm:test:tsc npm:test:lint npm:test:prettier","build":"rimraf dist && node build.js --outdir=dist --outbase=src \"src/**/*.{ts,js,css}\" --ignore \"**/*.d.ts\"","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","docs:build":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts build","observable":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts","test:build":"rimraf test/build && cross-env npm_package_version=1.0.0-test node build.js --sourcemap --outdir=test/build \"{src,test}/**/*.{ts,js,css}\" --ignore \"test/input/**\" --ignore \"test/output/**\" --ignore \"test/preview/dashboard/**\" --ignore \"**/*.d.ts\" && cp -r templates test/build","test:mocha":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 -p \"test/build/test/**/*-test.js\"","docs:deploy":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts deploy","test:coverage":"c8 --check-coverage --lines 80 --per-file yarn test:mocha","test:prettier":"prettier --check src test","prepublishOnly":"yarn build","test:mocha:serial":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/*-test.js\""},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.7.0","description":"[**Observable Framework**](https://observablehq.com/framework/) is a free, [open-source](./LICENSE), static site generator for data apps, dashboards, reports, and more. Framework combines JavaScript on the front-end for interactive graphics with any langu","directories":{},"_nodeVersion":"20.14.0","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tar":"^6.2.0","tsx":"^4.7.1","glob":"^10.3.10","mime":"^4.0.0","open":"^10.1.0","send":"^0.19.0","acorn":"^8.11.2","jsdom":"^23.2.0","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","semver":"^7.5.4","ci-info":"^4.0.0","esbuild":"^0.20.1","pkg-dir":"^8.0.0","d3-array":"^3.2.4","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","tar-stream":"^3.1.6","cross-spawn":"^7.0.3","gray-matter":"^4.0.3","markdown-it":"^14.0.0","d3-hierarchy":"^3.1.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","fast-deep-equal":"^3.1.3","resolve.exports":"^2.0.2","markdown-it-anchor":"^8.6.7","@rollup/plugin-json":"^6.1.0","@observablehq/inputs":"^0.12.0","@observablehq/runtime":"^5.9.4","@sindresorhus/slugify":"^2.2.1","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-virtual":"^3.0.2","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^9.1.0","chai":"^4.3.10","mocha":"^10.2.0","react":"^18.2.0","tempy":"^3.1.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","rimraf":"^5.0.5","undici":"^6.7.1","prettier":"^3.0.3 <3.1","@types/he":"^1.2.0","@types/ws":"^8.5.12","chai-http":"^4.4.0","cross-env":"^7.0.3","d3-format":"^3.1.0","react-dom":"^18.2.0","@types/tar":"^6.1.13","typescript":"^5.2.2 <5.6.0","@types/mime":"^4.0.0","@types/node":"^18.11.9","@types/send":"^0.17.4","@types/jsdom":"^21.1.7","@types/mocha":"^10.0.8","concurrently":"^8.2.2","@types/d3-array":"^3.2.1","@types/d3-format":"^3.0.4","@types/tar-stream":"^3.1.3","@types/cross-spawn":"^6.0.6","@types/markdown-it":"^14.0.0","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^7.2.0","@typescript-eslint/eslint-plugin":"^7.2.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.12.0-alpha.5_1727749160779_0.7768518800429063","host":"s3://npm-registry-packages"}},"1.12.0":{"name":"@observablehq/framework","version":"1.12.0","license":"ISC","_id":"@observablehq/framework@1.12.0","maintainers":[{"name":"obseth","email":"seth@observablehq.com"},{"name":"mcglincy","email":"mcglincy@observablehq.com"},{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"exclude":["test/build/src/bin/","test/build/src/client/","test/build/src/convert.js","test/build/src/jsr.js","test/build/src/observableApiConfig.js","test/build/src/preview.js"],"include":["test/build/src/**/*.js"],"reporter":["text","lcov"]},"bin":{"observable":"dist/bin/observable.js"},"dist":{"shasum":"7f7a6e66cda535590fe15d47e30a40bf891fcc87","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.12.0.tgz","fileCount":137,"integrity":"sha512-nKBj289/AigGOwp9TuX1jNceSe2m4rw9LLeFa7xjsZ8fwqStjctY2Rp5+2J3L8j9nI64eM3rJxQ5U+TNLzK4cQ==","signatures":[{"sig":"MEUCIQCModx4C8G7MncVAZaLMBHzCzU+W/6PRcwy648dSoU/NQIgKPAr6uLuSly3mBLsNEIsGQB3ULL0SRrPNMO1IEmtjKA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":439137},"type":"module","engines":{"node":">=18"},"gitHead":"ab7d7f3c591a48549ad79b3556418c96b1d37843","scripts":{"dev":"tsx watch --ignore docs --no-warnings=ExperimentalWarning ./src/bin/observable.ts preview --no-open --cors","test":"concurrently npm:test:mocha npm:test:tsc npm:test:lint npm:test:prettier","build":"rimraf dist && node build.js --outdir=dist --outbase=src \"src/**/*.{ts,js,css}\" --ignore \"**/*.d.ts\"","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","docs:build":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts build","observable":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts","test:build":"rimraf test/build && cross-env npm_package_version=1.0.0-test node build.js --sourcemap --outdir=test/build \"{src,test}/**/*.{ts,js,css}\" --ignore \"test/input/**\" --ignore \"test/output/**\" --ignore \"test/preview/dashboard/**\" --ignore \"**/*.d.ts\" && cp -r templates test/build","test:mocha":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 -p \"test/build/test/**/*-test.js\"","docs:deploy":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts deploy","test:coverage":"c8 --check-coverage --lines 80 --per-file yarn test:mocha","test:prettier":"prettier --check src test","prepublishOnly":"yarn build","test:mocha:serial":"yarn test:build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/*-test.js\""},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.8.2","description":"[**Observable Framework**](https://observablehq.com/framework/) is a free, [open-source](./LICENSE), static site generator for data apps, dashboards, reports, and more. Framework combines JavaScript on the front-end for interactive graphics with any langu","directories":{},"_nodeVersion":"20.17.0","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tar":"^6.2.0","tsx":"^4.7.1","glob":"^10.3.10","mime":"^4.0.0","open":"^10.1.0","send":"^0.19.0","acorn":"^8.11.2","jsdom":"^23.2.0","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","semver":"^7.5.4","ci-info":"^4.0.0","esbuild":"^0.20.1","pkg-dir":"^8.0.0","d3-array":"^3.2.4","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","tar-stream":"^3.1.6","cross-spawn":"^7.0.3","gray-matter":"^4.0.3","markdown-it":"^14.0.0","d3-hierarchy":"^3.1.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","fast-deep-equal":"^3.1.3","resolve.exports":"^2.0.2","markdown-it-anchor":"^8.6.7","@rollup/plugin-json":"^6.1.0","@observablehq/inputs":"^0.12.0","@observablehq/runtime":"^5.9.4","@sindresorhus/slugify":"^2.2.1","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-virtual":"^3.0.2","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^9.1.0","chai":"^4.3.10","mocha":"^10.2.0","react":"^18.2.0","tempy":"^3.1.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","rimraf":"^5.0.5","undici":"^6.7.1","prettier":"^3.0.3 <3.1","@types/he":"^1.2.0","@types/ws":"^8.5.12","chai-http":"^4.4.0","cross-env":"^7.0.3","d3-format":"^3.1.0","react-dom":"^18.2.0","@types/tar":"^6.1.13","typescript":"^5.2.2 <5.6.0","@types/mime":"^4.0.0","@types/node":"^18.11.9","@types/send":"^0.17.4","@types/jsdom":"^21.1.7","@types/mocha":"^10.0.8","concurrently":"^8.2.2","@types/d3-array":"^3.2.1","@types/d3-format":"^3.0.4","@types/tar-stream":"^3.1.3","@types/cross-spawn":"^6.0.6","@types/markdown-it":"^14.0.0","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^7.2.0","@typescript-eslint/eslint-plugin":"^7.2.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.12.0_1727802891655_0.022369068207998444","host":"s3://npm-registry-packages"}},"1.13.0":{"name":"@observablehq/framework","version":"1.13.0","license":"ISC","_id":"@observablehq/framework@1.13.0","maintainers":[{"name":"obseth","email":"seth@observablehq.com"},{"name":"azhang496","email":"azhang496@gmail.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"exclude":["test/build/src/bin/","test/build/src/client/","test/build/src/convert.js","test/build/src/jsr.js","test/build/src/observableApiConfig.js","test/build/src/preview.js"],"include":["test/build/src/**/*.js"],"reporter":["text","lcov"]},"bin":{"observable":"dist/bin/observable.js"},"dist":{"shasum":"bd67a4bbd21ab418aed9c63382bb34e041f1e4d8","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.13.0.tgz","fileCount":139,"integrity":"sha512-xHT8A5yjNNzvB+EDIIGTyVaKYo0TXCY0s2v6kAK4fAswiV1GMmlttx7VTxpu5Tn5ZMIzomfmWSb06/oidLP8OQ==","signatures":[{"sig":"MEUCIQC5Qmn8m6LM1OPTGWkxdnKQXA4lMUaeyMBUwsQYcqXtEAIgHUw9DIjN+TzLiOxK918HxV3SWaiZxOZ6t2VQHUuZSpA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":449664},"type":"module","engines":{"node":">=18"},"gitHead":"8f5200d5833d1672b62aa385bde8ad5cd5d5fc8a","scripts":{"dev":"tsx watch --ignore docs --no-warnings=ExperimentalWarning ./src/bin/observable.ts preview --no-open --cors","test":"concurrently npm:test:mocha npm:test:tsc npm:test:lint npm:test:prettier","build":"rimraf dist && node build.js --outdir=dist --outbase=src \"src/**/*.{ts,js,css}\" --ignore \"**/*.d.ts\"","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","docs:build":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts build","observable":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts","test:build":"rimraf test/build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env npm_package_version=1.0.0-test node build.js --sourcemap --outdir=test/build \"{src,test}/**/*.{ts,js,css}\" --ignore \"test/input/**\" --ignore \"test/output/**\" --ignore \"test/preview/dashboard/**\" --ignore \"**/*.d.ts\" && cp -r templates test/build","test:mocha":"yarn test:mocha:serial -p","docs:deploy":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts deploy","test:coverage":"c8 --check-coverage --lines 80 --per-file yarn test:mocha:all","test:prettier":"prettier --check src test","prepublishOnly":"yarn build","test:mocha:all":"yarn test:mocha && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 OBSERVABLE_ANNOTATE_FILES=true TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/annotate.js\"","test:mocha:serial":"yarn test:build && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/*-test.js\"","test:mocha:annotate":"yarn test:build && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 OBSERVABLE_ANNOTATE_FILES=true TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/annotate.js\""},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.8.2","description":"[**Observable Framework**](https://observablehq.com/framework/) is a free, [open-source](./LICENSE), static site generator for data apps, dashboards, reports, and more. Framework combines JavaScript on the front-end for interactive graphics with any langu","directories":{},"_nodeVersion":"20.18.0","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tar":"^6.2.0","tsx":"^4.7.1","glob":"^10.3.10","mime":"^4.0.0","open":"^10.1.0","send":"^0.19.0","acorn":"^8.11.2","jsdom":"^23.2.0","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","semver":"^7.5.4","ci-info":"^4.0.0","esbuild":"^0.20.1","pkg-dir":"^8.0.0","d3-array":"^3.2.4","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","picocolors":"^1.1.1","tar-stream":"^3.1.6","cross-spawn":"^7.0.3","gray-matter":"^4.0.3","markdown-it":"^14.0.0","d3-hierarchy":"^3.1.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","fast-deep-equal":"^3.1.3","resolve.exports":"^2.0.2","markdown-it-anchor":"^8.6.7","@rollup/plugin-json":"^6.1.0","@observablehq/inputs":"^0.12.0","@observablehq/runtime":"^6.0.0","@sindresorhus/slugify":"^2.2.1","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-virtual":"^3.0.2","@observablehq/inspector":"^5.0.1","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^9.1.0","chai":"^4.3.10","mocha":"^10.2.0","react":"^18.2.0","tempy":"^3.1.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","rimraf":"^5.0.5","undici":"^6.7.1","prettier":"^3.0.3 <3.1","@types/he":"^1.2.0","@types/ws":"^8.5.12","chai-http":"^4.4.0","cross-env":"^7.0.3","d3-format":"^3.1.0","react-dom":"^18.2.0","@types/tar":"^6.1.13","typescript":"^5.2.2 <5.6.0","@types/mime":"^4.0.0","@types/node":"^18.11.9","@types/send":"^0.17.4","@types/jsdom":"^21.1.7","@types/mocha":"^10.0.8","concurrently":"^8.2.2","@types/d3-array":"^3.2.1","@types/d3-format":"^3.0.4","@types/tar-stream":"^3.1.3","@types/cross-spawn":"^6.0.6","@types/markdown-it":"^14.0.0","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^7.2.0","@typescript-eslint/eslint-plugin":"^7.2.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.13.0_1731513368368_0.7855328601160532","host":"s3://npm-registry-packages"}},"1.13.1":{"name":"@observablehq/framework","version":"1.13.1","license":"ISC","_id":"@observablehq/framework@1.13.1","maintainers":[{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"obseth","email":"seth@observablehq.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"azhang496","email":"azhang496@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"exclude":["test/build/src/bin/","test/build/src/client/","test/build/src/convert.js","test/build/src/jsr.js","test/build/src/observableApiConfig.js","test/build/src/preview.js"],"include":["test/build/src/**/*.js"],"reporter":["text","lcov"]},"bin":{"observable":"dist/bin/observable.js"},"dist":{"shasum":"282b1deb7e1bc97d8844d99cf718842d6825e08a","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.13.1.tgz","fileCount":139,"integrity":"sha512-l4L7rPFoABCEs4Fjwd1eNJIJ0Axj4UaAgfhKeETzPbkD9M0eUNifsuTo6rzLqZbalqsfnK2oTSkZMn1DSvu/gg==","signatures":[{"sig":"MEYCIQCl8NGiiDcGX4BTd6B0uU275xq/u4FBrBuEPGHHAE5fDQIhAIBcaB9Qy72y2Kr5sGgOYhT+dF4UlbWVfdpxyPmhSr3T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":449844},"type":"module","engines":{"node":">=18"},"gitHead":"4da167e4e48a8f9ff4b31bbdc26d039f08046aae","scripts":{"dev":"tsx watch --ignore docs --no-warnings=ExperimentalWarning ./src/bin/observable.ts preview --no-open --cors","test":"concurrently npm:test:mocha npm:test:tsc npm:test:lint npm:test:prettier","build":"rimraf dist && node build.js --outdir=dist --outbase=src \"src/**/*.{ts,js,css}\" --ignore \"**/*.d.ts\"","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","docs:build":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts build","observable":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts","test:build":"rimraf test/build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env npm_package_version=1.0.0-test node build.js --sourcemap --outdir=test/build \"{src,test}/**/*.{ts,js,css}\" --ignore \"test/input/**\" --ignore \"test/output/**\" --ignore \"test/preview/dashboard/**\" --ignore \"**/*.d.ts\" && cp -r templates test/build","test:mocha":"yarn test:mocha:serial -p","docs:deploy":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts deploy","test:coverage":"c8 --check-coverage --lines 80 --per-file yarn test:mocha:all","test:prettier":"prettier --check src test","prepublishOnly":"yarn build","test:mocha:all":"yarn test:mocha && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 OBSERVABLE_ANNOTATE_FILES=true TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/annotate.js\"","test:mocha:serial":"yarn test:build && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/*-test.js\"","test:mocha:annotate":"yarn test:build && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 OBSERVABLE_ANNOTATE_FILES=true TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/annotate.js\""},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.8.2","description":"[**Observable Framework**](https://observablehq.com/framework/) is a free, [open-source](./LICENSE), static site generator for data apps, dashboards, reports, and more. Framework combines JavaScript on the front-end for interactive graphics with any langu","directories":{},"_nodeVersion":"20.18.1","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tar":"^6.2.0","tsx":"^4.7.1","glob":"^10.3.10","mime":"^4.0.0","open":"^10.1.0","send":"^0.19.0","acorn":"^8.11.2","jsdom":"^23.2.0","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","semver":"^7.5.4","ci-info":"^4.0.0","esbuild":"^0.20.1","pkg-dir":"^8.0.0","d3-array":"^3.2.4","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","picocolors":"^1.1.1","tar-stream":"^3.1.6","cross-spawn":"^7.0.3","gray-matter":"^4.0.3","markdown-it":"^14.0.0","d3-hierarchy":"^3.1.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","fast-deep-equal":"^3.1.3","resolve.exports":"^2.0.2","markdown-it-anchor":"^8.6.7","@rollup/plugin-json":"^6.1.0","@observablehq/inputs":"^0.12.0","@observablehq/runtime":"^6.0.0","@sindresorhus/slugify":"^2.2.1","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-virtual":"^3.0.2","@observablehq/inspector":"^5.0.1","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^9.1.0","chai":"^4.3.10","mocha":"^10.2.0","react":"^18.2.0","tempy":"^3.1.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","rimraf":"^5.0.5","undici":"^6.7.1","prettier":"^3.0.3 <3.1","@types/he":"^1.2.0","@types/ws":"^8.5.12","chai-http":"^4.4.0","cross-env":"^7.0.3","d3-format":"^3.1.0","react-dom":"^18.2.0","@types/tar":"^6.1.13","typescript":"^5.2.2 <5.6.0","@types/mime":"^4.0.0","@types/node":"^18.11.9","@types/send":"^0.17.4","@types/jsdom":"^21.1.7","@types/mocha":"^10.0.8","concurrently":"^8.2.2","@types/d3-array":"^3.2.1","@types/d3-format":"^3.0.4","@types/tar-stream":"^3.1.3","@types/cross-spawn":"^6.0.6","@types/markdown-it":"^14.0.0","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^7.2.0","@typescript-eslint/eslint-plugin":"^7.2.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.13.1_1737565064339_0.31720490754151087","host":"s3://npm-registry-packages-npm-production"}},"1.13.2":{"name":"@observablehq/framework","version":"1.13.2","license":"ISC","_id":"@observablehq/framework@1.13.2","maintainers":[{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"obseth","email":"seth@observablehq.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"azhang496","email":"azhang496@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"exclude":["test/build/src/bin/","test/build/src/client/","test/build/src/convert.js","test/build/src/jsr.js","test/build/src/observableApiConfig.js","test/build/src/preview.js"],"include":["test/build/src/**/*.js"],"reporter":["text","lcov"]},"bin":{"observable":"dist/bin/observable.js"},"dist":{"shasum":"28f17dfec7f453e40d92f2b5a370ca6f0d98f9bc","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.13.2.tgz","fileCount":139,"integrity":"sha512-a3gxNuhxiamSuXaYzqkjZLYwpdyz5FOMdj7PvE3uKW510vyNELOUIGxbQUOf87nI6t0m8Sl0Gbxp0YGg6xPnfg==","signatures":[{"sig":"MEYCIQDVrcaNpMfHEjt62DczzJsqv2QJZLkfO5HJu58gysXN7QIhAN/F0HF0AuJAHFj94cDbu/D64+LcA2OgLUnAInwsvz/V","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":449934},"type":"module","engines":{"node":">=18"},"gitHead":"82412a49f495a018367fc569f0407e06bae3479f","scripts":{"dev":"tsx watch --ignore docs --no-warnings=ExperimentalWarning ./src/bin/observable.ts preview --no-open --cors","test":"concurrently npm:test:mocha npm:test:tsc npm:test:lint npm:test:prettier","build":"rimraf dist && node build.js --outdir=dist --outbase=src \"src/**/*.{ts,js,css}\" --ignore \"**/*.d.ts\"","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","docs:build":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts build","observable":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts","test:build":"rimraf test/build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env npm_package_version=1.0.0-test node build.js --sourcemap --outdir=test/build \"{src,test}/**/*.{ts,js,css}\" --ignore \"test/input/**\" --ignore \"test/output/**\" --ignore \"test/preview/dashboard/**\" --ignore \"**/*.d.ts\" && cp -r templates test/build","test:mocha":"yarn test:mocha:serial -p","docs:deploy":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts deploy","test:coverage":"c8 --check-coverage --lines 80 --per-file yarn test:mocha:all","test:prettier":"prettier --check src test","prepublishOnly":"yarn build","test:mocha:all":"yarn test:mocha && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 OBSERVABLE_ANNOTATE_FILES=true TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/annotate.js\"","test:mocha:serial":"yarn test:build && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/*-test.js\"","test:mocha:annotate":"yarn test:build && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 OBSERVABLE_ANNOTATE_FILES=true TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/annotate.js\""},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.8.2","description":"[**Observable Framework**](https://observablehq.com/framework/) is a free, [open-source](./LICENSE), static site generator for data apps, dashboards, reports, and more. Framework combines JavaScript on the front-end for interactive graphics with any langu","directories":{},"_nodeVersion":"20.18.1","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tar":"^6.2.0","tsx":"^4.7.1","glob":"^10.3.10","mime":"^4.0.0","open":"^10.1.0","send":"^0.19.0","acorn":"^8.11.2","jsdom":"^23.2.0","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","semver":"^7.5.4","ci-info":"^4.0.0","esbuild":"^0.20.1","pkg-dir":"^8.0.0","d3-array":"^3.2.4","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","picocolors":"^1.1.1","tar-stream":"^3.1.6","cross-spawn":"^7.0.3","gray-matter":"^4.0.3","markdown-it":"^14.0.0","d3-hierarchy":"^3.1.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","fast-deep-equal":"^3.1.3","resolve.exports":"^2.0.2","markdown-it-anchor":"^8.6.7","@rollup/plugin-json":"^6.1.0","@observablehq/inputs":"^0.12.0","@observablehq/runtime":"^6.0.0","@sindresorhus/slugify":"^2.2.1","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-virtual":"^3.0.2","@observablehq/inspector":"^5.0.1","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^9.1.0","chai":"^4.3.10","mocha":"^10.2.0","react":"^18.2.0","tempy":"^3.1.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","rimraf":"^5.0.5","undici":"^6.7.1","prettier":"^3.0.3 <3.1","@types/he":"^1.2.0","@types/ws":"^8.5.12","chai-http":"^4.4.0","cross-env":"^7.0.3","d3-format":"^3.1.0","react-dom":"^18.2.0","@types/tar":"^6.1.13","typescript":"^5.2.2 <5.6.0","@types/mime":"^4.0.0","@types/node":"^18.11.9","@types/send":"^0.17.4","@types/jsdom":"^21.1.7","@types/mocha":"^10.0.8","concurrently":"^8.2.2","@types/d3-array":"^3.2.1","@types/d3-format":"^3.0.4","@types/tar-stream":"^3.1.3","@types/cross-spawn":"^6.0.6","@types/markdown-it":"^14.0.0","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^7.2.0","@typescript-eslint/eslint-plugin":"^7.2.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.13.2_1737650189100_0.8492553530660769","host":"s3://npm-registry-packages-npm-production"}},"1.13.3":{"name":"@observablehq/framework","version":"1.13.3","license":"ISC","_id":"@observablehq/framework@1.13.3","maintainers":[{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"obseth","email":"seth@observablehq.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"},{"name":"azhang496","email":"azhang496@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"exclude":["test/build/src/bin/","test/build/src/client/","test/build/src/convert.js","test/build/src/jsr.js","test/build/src/observableApiConfig.js","test/build/src/preview.js"],"include":["test/build/src/**/*.js"],"reporter":["text","lcov"]},"bin":{"observable":"dist/bin/observable.js"},"dist":{"shasum":"7535af05e1fb3b86a8e819a2eaf60cef6a5067ae","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.13.3.tgz","fileCount":139,"integrity":"sha512-rlKeVob043Eti9AtF6fJ+z4cGacGYwX9cgvVnpozA4dKRiQvNGiGdMt9OJrCa80KnbTt8k8pRoTCd0q+zAMu2Q==","signatures":[{"sig":"MEQCIA3pCe1kyFfvJM5Q/ijIzqPaD0fbdnI9ohayaBRz113lAiAgc+sQNnU2jBoPWjdBAIkHqYI4mYs+cn9QQFXrymVtQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":450373},"type":"module","engines":{"node":">=18"},"gitHead":"480fcc06eb7b6b39222fd7820a5baa5712dd7db3","scripts":{"dev":"tsx watch --ignore docs --no-warnings=ExperimentalWarning ./src/bin/observable.ts preview --no-open --cors","test":"concurrently npm:test:mocha npm:test:tsc npm:test:lint npm:test:prettier","build":"rimraf dist && node build.js --outdir=dist --outbase=src \"src/**/*.{ts,js,css}\" --ignore \"**/*.d.ts\"","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","docs:build":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts build","observable":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts","test:build":"rimraf test/build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env npm_package_version=1.0.0-test node build.js --sourcemap --outdir=test/build \"{src,test}/**/*.{ts,js,css}\" --ignore \"test/input/**\" --ignore \"test/output/**\" --ignore \"test/preview/dashboard/**\" --ignore \"**/*.d.ts\" && cp -r templates test/build","test:mocha":"yarn test:mocha:serial -p","docs:deploy":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts deploy","test:coverage":"c8 --check-coverage --lines 80 --per-file yarn test:mocha:all","test:prettier":"prettier --check src test","prepublishOnly":"yarn build","test:mocha:all":"yarn test:mocha && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 OBSERVABLE_ANNOTATE_FILES=true TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/annotate.js\"","test:mocha:serial":"yarn test:build && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/*-test.js\"","test:mocha:annotate":"yarn test:build && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 OBSERVABLE_ANNOTATE_FILES=true TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/annotate.js\""},"_npmUser":{"name":"mbostock","email":"mike@ocks.org"},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"10.8.2","description":"[**Observable Framework**](https://observablehq.com/framework/) is a free, [open-source](./LICENSE), static site generator for data apps, dashboards, reports, and more. Framework combines JavaScript on the front-end for interactive graphics with any langu","directories":{},"_nodeVersion":"20.19.0","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tar":"^6.2.0","tsx":"^4.7.1","glob":"^10.3.10","mime":"^4.0.0","open":"^10.1.0","send":"^0.19.0","acorn":"^8.11.2","jsdom":"^23.2.0","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","semver":"^7.5.4","ci-info":"^4.0.0","esbuild":"^0.20.1","pkg-dir":"^8.0.0","d3-array":"^3.2.4","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","picocolors":"^1.1.1","tar-stream":"^3.1.6","cross-spawn":"^7.0.3","gray-matter":"^4.0.3","markdown-it":"^14.0.0","d3-hierarchy":"^3.1.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","fast-deep-equal":"^3.1.3","resolve.exports":"^2.0.2","markdown-it-anchor":"^8.6.7","@rollup/plugin-json":"^6.1.0","@observablehq/inputs":"^0.12.0","@observablehq/runtime":"^6.0.0","@sindresorhus/slugify":"^2.2.1","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-virtual":"^3.0.2","@observablehq/inspector":"^5.0.1","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^9.1.0","chai":"^4.3.10","mocha":"^10.2.0","react":"^18.2.0","tempy":"^3.1.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","rimraf":"^5.0.5","undici":"^6.7.1","prettier":"^3.0.3 <3.1","@types/he":"^1.2.0","@types/ws":"^8.5.12","chai-http":"^4.4.0","cross-env":"^7.0.3","d3-format":"^3.1.0","react-dom":"^18.2.0","@types/tar":"^6.1.13","typescript":"^5.2.2 <5.6.0","@types/mime":"^4.0.0","@types/node":"^18.11.9","@types/send":"^0.17.4","@types/jsdom":"^21.1.7","@types/mocha":"^10.0.8","concurrently":"^8.2.2","@types/d3-array":"^3.2.1","@types/d3-format":"^3.0.4","@types/tar-stream":"^3.1.3","@types/cross-spawn":"^6.0.6","@types/markdown-it":"^14.0.0","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^7.2.0","@typescript-eslint/eslint-plugin":"^7.2.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.13.3_1744767459787_0.2895274530344296","host":"s3://npm-registry-packages-npm-production"}},"1.13.4":{"name":"@observablehq/framework","version":"1.13.4","license":"ISC","_id":"@observablehq/framework@1.13.4","maintainers":[{"name":"mbostock","email":"mike@ocks.org"},{"name":"visnup","email":"visnup@gmail.com"},{"name":"recifs","email":"fil@rezo.net"},{"name":"obseth","email":"seth@observablehq.com"},{"name":"tophtucker","email":"tophtucker@gmail.com"}],"homepage":"https://github.com/observablehq/framework#readme","bugs":{"url":"https://github.com/observablehq/framework/issues"},"c8":{"all":true,"exclude":["test/build/src/bin/","test/build/src/client/","test/build/src/convert.js","test/build/src/jsr.js","test/build/src/observableApiConfig.js","test/build/src/preview.js"],"include":["test/build/src/**/*.js"],"reporter":["text","lcov"]},"bin":{"observable":"dist/bin/observable.js"},"dist":{"shasum":"c316a84f655b739caf7e11f1d55acf53ee54e35f","tarball":"https://registry.npmjs.org/@observablehq/framework/-/framework-1.13.4.tgz","fileCount":139,"integrity":"sha512-/qSEsd1R0n7wgVQHBpF8slShQhB2TDAWma1AllddYb3e1T72mm6dMSL3PaVUNx3Tx2lM3wXjPxcAH431yvdTHw==","signatures":[{"sig":"MEYCIQC+lLFCvELp89dRSZKnTWQTfQ9g5h9BaDyzLdqsdMugxgIhANH9GR5F28AkhHkTAAriKGZxwqpNEkle7p88y2ueSBju","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@observablehq%2fframework@1.13.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":446814},"type":"module","engines":{"node":">=18"},"gitHead":"c1c2b2653a0287cbb2fcb4938ee1f74436465bc1","scripts":{"dev":"tsx watch --ignore docs --no-warnings=ExperimentalWarning ./src/bin/observable.ts preview --no-open --cors","test":"concurrently npm:test:mocha npm:test:tsc npm:test:lint npm:test:prettier","build":"rimraf dist && node build.js --outdir=dist --outbase=src \"src/**/*.{ts,js,css}\" --ignore \"**/*.d.ts\"","test:tsc":"tsc --noEmit","test:lint":"eslint src test --max-warnings=0","docs:build":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts build","observable":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts","test:build":"rimraf test/build && rimraf --glob test/.observablehq/cache test/input/build/*/.observablehq/cache && cross-env npm_package_version=1.0.0-test node build.js --sourcemap --outdir=test/build \"{src,test}/**/*.{ts,js,css}\" --ignore \"test/input/**\" --ignore \"test/output/**\" --ignore \"test/preview/dashboard/**\" --ignore \"**/*.d.ts\" && cp -r templates test/build","test:mocha":"yarn test:mocha:serial -p","docs:deploy":"tsx --no-warnings=ExperimentalWarning ./src/bin/observable.ts deploy","test:coverage":"c8 --check-coverage --lines 80 --per-file yarn test:mocha:all","test:prettier":"prettier --check src test","prepublishOnly":"yarn build","test:mocha:all":"yarn test:mocha && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 OBSERVABLE_ANNOTATE_FILES=true TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/annotate.js\"","test:mocha:serial":"yarn test:build && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/*-test.js\"","test:mocha:annotate":"yarn test:build && cross-env OBSERVABLE_TELEMETRY_DISABLE=1 OBSERVABLE_ANNOTATE_FILES=true TZ=America/Los_Angeles mocha --timeout 30000 \"test/build/test/**/annotate.js\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e75e325e-4b94-464a-957c-3283cf338b9a"}},"repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"_npmVersion":"11.8.0","description":"[**Observable Framework**](https://observablehq.com/framework/) is a free, [open-source](./LICENSE), static site generator for data apps, dashboards, reports, and more. Framework combines JavaScript on the front-end for interactive graphics with any langu","directories":{},"_nodeVersion":"24.13.1","dependencies":{"he":"^1.2.0","ws":"^8.14.2","tar":"^7.5.9","tsx":"^4.7.1","glob":"^10.3.10","mime":"^4.0.0","open":"^10.1.0","send":"^0.19.0","acorn":"^8.11.2","jsdom":"^23.2.0","jszip":"^3.10.1","is-wsl":"^3.1.0","rollup":"^4.6.0","semver":"^7.5.4","ci-info":"^4.0.0","esbuild":"^0.27.3","pkg-dir":"^8.0.0","d3-array":"^3.2.4","is-docker":"^3.0.0","untildify":"^5.0.0","wrap-ansi":"^9.0.0","acorn-walk":"^8.3.0","minisearch":"^6.3.0","picocolors":"^1.1.1","tar-stream":"^3.1.6","cross-spawn":"^7.0.3","gray-matter":"^4.0.3","markdown-it":"^14.0.0","d3-hierarchy":"^3.1.2","highlight.js":"^11.8.0","@clack/prompts":"^0.7.0","fast-array-diff":"^1.1.0","fast-deep-equal":"^3.1.3","resolve.exports":"^2.0.2","markdown-it-anchor":"^8.6.7","@rollup/plugin-json":"^6.1.0","@observablehq/inputs":"^0.12.0","@observablehq/runtime":"^6.0.0","@sindresorhus/slugify":"^2.2.1","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-virtual":"^3.0.2","@observablehq/inspector":"^5.0.1","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^9.1.0","chai":"^4.3.10","mocha":"^11.7.5","react":"^18.2.0","tempy":"^3.1.0","d3-dsv":"^3.0.1","eslint":"^8.50.0","rimraf":"^5.0.5","undici":"^6.7.1","prettier":"^3.0.3 <3.1","@types/he":"^1.2.0","@types/ws":"^8.5.12","chai-http":"^4.4.0","cross-env":"^7.0.3","d3-format":"^3.1.0","react-dom":"^18.2.0","typescript":"^5.2.2 <5.6.0","@types/mime":"^4.0.0","@types/node":"^18.11.9","@types/send":"^0.17.4","@types/jsdom":"^21.1.7","@types/mocha":"^10.0.8","concurrently":"^8.2.2","@types/d3-array":"^3.2.1","@types/d3-format":"^3.0.4","@types/tar-stream":"^3.1.3","@types/cross-spawn":"^6.0.6","@types/markdown-it":"^14.0.0","eslint-plugin-import":"^2.29.0","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^7.2.0","@typescript-eslint/eslint-plugin":"^7.2.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/framework_1.13.4_1772488129319_0.5142699656204435","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2024-02-07T16:48:15.371Z","modified":"2026-04-06T17:49:34.613Z","1.0.0-rc.1":"2024-02-07T16:48:15.739Z","1.0.0-rc.2":"2024-02-07T16:57:36.967Z","1.0.0-rc.3":"2024-02-07T17:25:28.043Z","1.0.0-rc.4":"2024-02-07T17:41:17.239Z","1.0.0-rc.5":"2024-02-07T18:23:58.647Z","1.0.0-rc.6":"2024-02-08T01:14:17.778Z","1.0.0-rc.7":"2024-02-12T22:57:50.728Z","1.0.0-rc.8":"2024-02-13T20:58:45.737Z","1.0.0":"2024-02-15T06:15:49.096Z","1.1.0-rc.1":"2024-03-04T18:08:08.956Z","1.1.0":"2024-03-04T21:28:29.433Z","1.1.1":"2024-03-04T21:55:01.069Z","1.1.2":"2024-03-04T22:20:51.187Z","1.2.0":"2024-03-06T19:44:04.961Z","1.3.0":"2024-03-13T18:44:09.563Z","1.4.0":"2024-03-20T00:01:07.568Z","1.5.0":"2024-03-26T20:03:51.355Z","1.5.1":"2024-03-27T17:18:28.229Z","1.6.0":"2024-04-16T16:19:36.066Z","1.7.0":"2024-04-26T23:45:07.586Z","1.7.1":"2024-05-14T01:37:39.106Z","1.8.0":"2024-05-25T00:01:54.366Z","1.9.0":"2024-06-12T16:22:31.956Z","1.10.0":"2024-08-06T23:51:06.969Z","1.10.1":"2024-08-09T17:17:10.878Z","1.11.0":"2024-09-03T16:09:24.133Z","1.12.0-alpha.1":"2024-09-13T15:24:53.274Z","1.12.0-alpha.2":"2024-09-13T15:35:48.977Z","1.12.0-alpha.3":"2024-09-13T17:50:05.380Z","1.12.0-alpha.4":"2024-09-17T15:45:25.835Z","1.12.0-alpha.5":"2024-10-01T02:19:21.026Z","1.12.0":"2024-10-01T17:14:51.852Z","1.13.0":"2024-11-13T15:56:08.638Z","1.13.1":"2025-01-22T16:57:44.599Z","1.13.2":"2025-01-23T16:36:29.355Z","1.13.3":"2025-04-16T01:37:40.008Z","1.13.4":"2026-03-02T21:48:49.487Z"},"bugs":{"url":"https://github.com/observablehq/framework/issues"},"license":"ISC","homepage":"https://github.com/observablehq/framework#readme","repository":{"url":"git+https://github.com/observablehq/framework.git","type":"git"},"description":"[**Observable Framework**](https://observablehq.com/framework/) is a free, [open-source](./LICENSE), static site generator for data apps, dashboards, reports, and more. Framework combines JavaScript on the front-end for interactive graphics with any langu","maintainers":[{"email":"mike@ocks.org","name":"mbostock"},{"email":"visnup@gmail.com","name":"visnup"},{"email":"fil@rezo.net","name":"recifs"},{"email":"tophtucker@gmail.com","name":"tophtucker"}],"readme":"# Observable Framework\n\n[**Observable Framework**](https://observablehq.com/framework/) is a free, [open-source](./LICENSE), static site generator for data apps, dashboards, reports, and more. Framework combines JavaScript on the front-end for interactive graphics with any language on the back-end for data analysis. Framework features [data loaders](https://observablehq.com/framework/loaders) that precompute static snapshots of data at build time for dashboards that load instantly.\n\n<a href=\"https://observablehq.observablehq.cloud/oss-analytics/@observablehq/framework\">\n  <picture>\n    <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://observablehq.observablehq.cloud/oss-analytics/@observablehq/framework/downloads-dark.svg\">\n    <img alt=\"Daily downloads of Observable Framework\" src=\"https://observablehq.observablehq.cloud/oss-analytics/@observablehq/framework/downloads.svg\">\n  </picture>\n</a>\n\n<sub>Daily downloads of Observable Framework · [oss-analytics](https://observablehq.observablehq.cloud/oss-analytics/)</sub>\n\n## Documentation 📚\n\nhttps://observablehq.com/framework/\n\n## Examples 🖼️\n\nhttps://github.com/observablehq/framework/tree/main/examples\n\n## Releases (changelog) 🚀\n\nhttps://github.com/observablehq/framework/releases\n\n## Getting help 🏠\n\nPlease [open a discussion](https://github.com/observablehq/framework/discussions) if you’d like help. We also recommend [searching issues](https://github.com/observablehq/framework/issues).\n\n## Contributing 🙏\n\nSee [Contributing](https://observablehq.com/framework/contributing).\n","readmeFilename":"README.md"}