{"_id":"@tryghost/mg-context","_rev":"76-7c112473e308d66b6c96458d1cd5f061","name":"@tryghost/mg-context","dist-tags":{"latest":"0.11.8"},"versions":{"0.1.0-alpha.0":{"name":"@tryghost/mg-context","version":"0.1.0-alpha.0","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.1.0-alpha.0","maintainers":[{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"dvdwinden","email":"danielvanderwinden@ghost.org"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"sagzy","email":"hey@sagzy.io"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"hadret","email":"filip@ghost.org"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"ronaldlangeveld","email":"hi@ronaldlangeveld.com"},{"name":"simonbackx","email":"hi@simonbackx.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"djordjevlais","email":"djordje@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nas@duck.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"homepage":"https://github.com/TryGhost/migrate/tree/main#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"da102bc4514eebe1ad7ce3e01c743fe6889ece71","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.0-alpha.0.tgz","fileCount":42,"integrity":"sha512-vgBN7J2SlhnMZKfDUkcO9iBgcYe31xwbwW/N2VDd8w3fIoXnP4Ntm3VweHUwcG80Ok6M1dzPS0sN913UJ+Sg1w==","signatures":[{"sig":"MEUCIQCh9+KZETt0PHdpbaqFV8qMjdZXdkptn7dRVfzcAxLlTQIgRjL8LvjHC3sSa6LPvzzgf+baXnUvRhJyWXUWQ+eLSFc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":159387},"main":"build/index.js","type":"module","types":"build/types.d.ts","gitHead":"eff0d7d7ba1a0ce1d89dd15a0671b23ea4ef9307","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && rm -rf coverage && yarn build --force && NODE_OPTIONS=--experimental-vm-modules c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura jest build/test","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":{"url":"git+https://github.com/TryGhost/migrate.git#main","type":"git"},"_npmVersion":"lerna/7.2.0/node@v18.16.0+arm64 (darwin)","description":"This package makes it easier to create post objects that can be used in the Ghost migration tools. It aims to provide a consistent, typed interface for posts, pages, tags, and authors. It also validates input data to ensure that the resulting object is va","directories":{},"_nodeVersion":"18.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"8.0.1","jest":"29.7.0","sinon":"17.0.1","eslint":"8.56.0","typescript":"5.3.3","@types/jest":"29.5.11","@types/sinon":"17.0.2","@typescript-eslint/parser":"6.16.0","@tryghost/listr-smart-renderer":"0.5.12","@typescript-eslint/eslint-plugin":"6.16.0"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.0-alpha.0_1704216271929_0.10817284030642615","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"@tryghost/mg-context","version":"0.1.0","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.1.0","maintainers":[{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"dvdwinden","email":"danielvanderwinden@ghost.org"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"sagzy","email":"hey@sagzy.io"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"hadret","email":"filip@ghost.org"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"ronaldlangeveld","email":"hi@ronaldlangeveld.com"},{"name":"simonbackx","email":"hi@simonbackx.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"djordjevlais","email":"djordje@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nas@duck.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"homepage":"https://github.com/TryGhost/migrate/tree/main#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"a66758fa678339833205fcaef8e6cd701b9ab94d","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.0.tgz","fileCount":42,"integrity":"sha512-gvgnoIArIXH2q/at3tYIqWzsL31dkOYTrFA6RYUsZ1WdVFWuViu97FmfL86KL9i9iVrSHTKN3/oUzLJnC2/IKw==","signatures":[{"sig":"MEQCIE2ta6QRAZQ3jjRyeJBItRma/YkF6PEOwLpoTEBGtgCUAiBP9KhAZXby6EhfDUGAnv/pc+getbXTg4yKXFMoUAut3w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":159379},"main":"build/index.js","type":"module","types":"build/types.d.ts","gitHead":"73234756d0188f35dac8de168ed4a27148c7d971","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && rm -rf coverage && yarn build --force && NODE_OPTIONS=--experimental-vm-modules c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura jest build/test","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":{"url":"git+https://github.com/TryGhost/migrate.git#main","type":"git"},"_npmVersion":"lerna/8.0.2/node@v18.16.0+arm64 (darwin)","description":"This package makes it easier to create post objects that can be used in the Ghost migration tools. It aims to provide a consistent, typed interface for posts, pages, tags, and authors. It also validates input data to ensure that the resulting object is va","directories":{},"_nodeVersion":"18.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"9.1.0","jest":"29.7.0","sinon":"17.0.1","eslint":"8.56.0","typescript":"5.3.3","@types/jest":"29.5.11","@types/sinon":"17.0.2","@typescript-eslint/parser":"6.18.1","@tryghost/listr-smart-renderer":"0.5.12","@typescript-eslint/eslint-plugin":"6.18.1"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.0_1705323166721_0.5500626389097025","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"@tryghost/mg-context","version":"0.1.1","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.1.1","maintainers":[{"name":"ryan_feigenbaum","email":"ryan.feigenbaum@gmail.com"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"dvdwinden","email":"danielvanderwinden@ghost.org"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"sagzy","email":"hey@sagzy.io"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"hadret","email":"filip@ghost.org"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"ronaldlangeveld","email":"hi@ronaldlangeveld.com"},{"name":"simonbackx","email":"hi@simonbackx.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"djordjevlais","email":"djordje@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nas@duck.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"homepage":"https://github.com/TryGhost/migrate/tree/main#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"a6198da84258687372a5f1da72a25fbeef488259","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.1.tgz","fileCount":42,"integrity":"sha512-pgMnMjpsbEwisg1qM6pe3/DIgDs9LuX6U/IUA0czkNpEJwVJu+kF0Bk8URNOh4mO1USYVkzUv89czIuxfnFemA==","signatures":[{"sig":"MEQCIAnpx5aeFyRQsOLGeIXdepcoN019vASY7SJBUP7bbrYbAiAc/fMSIbJygI4bGfMdDKb7M4QsBzCy2VSZgEFOnVWa5A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":159379},"main":"build/index.js","type":"module","types":"build/types.d.ts","gitHead":"d0c6f970f484101ab9b4dcf8ba95fa1398da4b79","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && rm -rf coverage && yarn build --force && NODE_OPTIONS=--experimental-vm-modules c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura jest build/test","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":{"url":"git+https://github.com/TryGhost/migrate.git#main","type":"git"},"_npmVersion":"lerna/8.0.2/node@v18.16.0+arm64 (darwin)","description":"This package makes it easier to create post objects that can be used in the Ghost migration tools. It aims to provide a consistent, typed interface for posts, pages, tags, and authors. It also validates input data to ensure that the resulting object is va","directories":{},"_nodeVersion":"18.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"9.1.0","jest":"29.7.0","sinon":"17.0.1","eslint":"8.56.0","typescript":"5.3.3","@types/jest":"29.5.11","@types/sinon":"17.0.2","@typescript-eslint/parser":"6.19.1","@tryghost/listr-smart-renderer":"0.5.12","@typescript-eslint/eslint-plugin":"6.19.1"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.1_1706357410957_0.8830951638050921","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"@tryghost/mg-context","version":"0.1.2","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.1.2","maintainers":[{"name":"ryan_feigenbaum","email":"ryan.feigenbaum@gmail.com"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"dvdwinden","email":"danielvanderwinden@ghost.org"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"sagzy","email":"hey@sagzy.io"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"hadret","email":"filip@ghost.org"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"ronaldlangeveld","email":"hi@ronaldlangeveld.com"},{"name":"simonbackx","email":"hi@simonbackx.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"djordjevlais","email":"djordje@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nas@duck.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"homepage":"https://github.com/TryGhost/migrate/tree/main#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"acd0f78347d5e77ff1e101b41d39534d92b1871d","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.2.tgz","fileCount":42,"integrity":"sha512-0QLUXpYenWOrKktMmS2oJhWX+QxoVCbWEmT8AjE70Oe1rMCk8CN/VOP1HMjPIYeQMopnE9mjm9kInZLtG5HxoQ==","signatures":[{"sig":"MEUCIAN4WwRuARzpdHszHWWWLsSZiLZrtwzGCcE+U3xX7xMgAiEAzTK2YsBpbmsualKCMjghnaP3s/HSu4kC8utJPHWhqUU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":159379},"main":"build/index.js","type":"module","types":"build/types.d.ts","gitHead":"db762af916ae75789b139f59220b621ec9d732c7","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && rm -rf coverage && yarn build --force && NODE_OPTIONS=--experimental-vm-modules c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura jest build/test","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":{"url":"git+https://github.com/TryGhost/migrate.git#main","type":"git"},"_npmVersion":"lerna/8.0.2/node@v18.16.0+arm64 (darwin)","description":"This package makes it easier to create post objects that can be used in the Ghost migration tools. It aims to provide a consistent, typed interface for posts, pages, tags, and authors. It also validates input data to ensure that the resulting object is va","directories":{},"_nodeVersion":"18.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"9.1.0","jest":"29.7.0","sinon":"17.0.1","eslint":"8.56.0","typescript":"5.3.3","@types/jest":"29.5.11","@types/sinon":"17.0.2","@typescript-eslint/parser":"6.20.0","@tryghost/listr-smart-renderer":"0.5.12","@typescript-eslint/eslint-plugin":"6.20.0"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.2_1707395212121_0.7612414309266731","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"@tryghost/mg-context","version":"0.1.3","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.1.3","maintainers":[{"name":"ryan_feigenbaum","email":"ryan.feigenbaum@gmail.com"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"dvdwinden","email":"danielvanderwinden@ghost.org"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"sagzy","email":"hey@sagzy.io"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"hadret","email":"filip@ghost.org"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"ronaldlangeveld","email":"hi@ronaldlangeveld.com"},{"name":"simonbackx","email":"hi@simonbackx.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"djordjevlais","email":"djordje@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nas@duck.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"homepage":"https://github.com/TryGhost/migrate/tree/main#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"fb0ca3659992fd678a8688ac25149d05e75c0159","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.3.tgz","fileCount":42,"integrity":"sha512-LaH0Zzyh37STtl3/mcyO5IlVBuqW7OTb44kmGpmZDTFyB7355wR2X15szhIeLaeVyd4ohIBU1qZLAW6TdZ3JOQ==","signatures":[{"sig":"MEYCIQC61nqfhuHq2JgiAAxr4hTJIW4Wthxurym3SmSTS52k2wIhALZbwtojF1DdAOF+7cz8pRQXevcfV+CnAXpiTIprTy9N","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":159377},"main":"build/index.js","type":"module","types":"build/types.d.ts","gitHead":"11cc97db15efc3e19af16253cd53694cf72aa55d","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && rm -rf coverage && yarn build --force && NODE_OPTIONS=--experimental-vm-modules c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura jest build/test","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":{"url":"git+https://github.com/TryGhost/migrate.git#main","type":"git"},"_npmVersion":"lerna/8.0.2/node@v18.16.0+arm64 (darwin)","description":"This package makes it easier to create post objects that can be used in the Ghost migration tools. It aims to provide a consistent, typed interface for posts, pages, tags, and authors. It also validates input data to ensure that the resulting object is va","directories":{},"_nodeVersion":"18.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"9.1.0","jest":"29.7.0","sinon":"17.0.1","eslint":"8.57.0","typescript":"5.3.3","@types/jest":"29.5.11","@types/sinon":"17.0.2","@typescript-eslint/parser":"7.1.1","@tryghost/listr-smart-renderer":"0.5.12","@typescript-eslint/eslint-plugin":"7.1.1"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.3_1709744148153_0.29705132665961465","host":"s3://npm-registry-packages"}},"0.1.4":{"name":"@tryghost/mg-context","version":"0.1.4","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.1.4","maintainers":[{"name":"ryan_feigenbaum","email":"ryan.feigenbaum@gmail.com"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"dvdwinden","email":"danielvanderwinden@ghost.org"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"sagzy","email":"hey@sagzy.io"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"hadret","email":"filip@ghost.org"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"ronaldlangeveld","email":"hi@ronaldlangeveld.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"djordjevlais","email":"djordje@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nas@duck.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"homepage":"https://github.com/TryGhost/migrate/tree/main#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"2bb77c136039a5d01094bedf0c00d7ee15f089f4","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.4.tgz","fileCount":42,"integrity":"sha512-PhTYdZiYIlPcwgh+x3bzN6LS/+aoR6I5ao4zl7IwR3QYLFdBXbBjZx4QQO6xLlEY8HyikLOLUdfyzscn7QyAGA==","signatures":[{"sig":"MEUCIQCvymqPc0AQ/AwmMzcaoeb81SNmWB2p5Ba46w7t0KvtLQIgHoPt81s7l+6lxTAeJLdtOLrAXr1E7oFqcRgAr1m/9WA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":159378},"main":"build/index.js","type":"module","types":"build/types.d.ts","gitHead":"6d66ced5547ace4095b32d0662b158b119a44fa9","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && rm -rf coverage && yarn build --force && NODE_OPTIONS=--experimental-vm-modules c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura jest build/test","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":{"url":"git+https://github.com/TryGhost/migrate.git#main","type":"git"},"_npmVersion":"lerna/8.1.2/node@v18.16.0+arm64 (darwin)","description":"This package makes it easier to create post objects that can be used in the Ghost migration tools. It aims to provide a consistent, typed interface for posts, pages, tags, and authors. It also validates input data to ensure that the resulting object is va","directories":{},"_nodeVersion":"18.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"9.1.0","jest":"29.7.0","sinon":"17.0.1","eslint":"8.57.0","typescript":"5.3.3","@types/jest":"29.5.12","@types/sinon":"17.0.2","@typescript-eslint/parser":"7.2.0","@tryghost/listr-smart-renderer":"^0.5.13","@typescript-eslint/eslint-plugin":"7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.4_1713868809558_0.03150161347308278","host":"s3://npm-registry-packages"}},"0.1.5":{"name":"@tryghost/mg-context","version":"0.1.5","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.1.5","maintainers":[{"name":"ryan_feigenbaum","email":"ryan.feigenbaum@gmail.com"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"dvdwinden","email":"danielvanderwinden@ghost.org"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"sagzy","email":"hey@sagzy.io"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"hadret","email":"filip@ghost.org"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"ronaldlangeveld","email":"hi@ronaldlangeveld.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"djordjevlais","email":"djordje@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nas@duck.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"homepage":"https://github.com/TryGhost/migrate/tree/main#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"015f9422a77e6483fd65dbcd93229113e29b2c77","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.5.tgz","fileCount":42,"integrity":"sha512-15L6WZSEufW4h9JvvgrLHfbxtR4VpEjK4I6y6JuDiO7xQb7AI9BzSvtOQax/Lg5UGg+j8nxsqO3k/WR5gGjiqA==","signatures":[{"sig":"MEYCIQCoEYAvZOG0MvsQQ8N7+lbV7mUzCJVg11HUq5UmxyCClAIhALi3gchkPprGLg0aW/skbbD/RavobHD4PSjV+LAdy+15","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":159377},"main":"build/index.js","type":"module","types":"build/types.d.ts","gitHead":"f824cede3d1123defe3e4575536dd579984f7fe2","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && rm -rf coverage && yarn build --force && NODE_OPTIONS=--experimental-vm-modules c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura jest build/test","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":{"url":"git+https://github.com/TryGhost/migrate.git#main","type":"git"},"_npmVersion":"lerna/8.1.3/node@v18.16.0+arm64 (darwin)","description":"This package makes it easier to create post objects that can be used in the Ghost migration tools. It aims to provide a consistent, typed interface for posts, pages, tags, and authors. It also validates input data to ensure that the resulting object is va","directories":{},"_nodeVersion":"18.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"9.1.0","jest":"29.7.0","sinon":"18.0.0","eslint":"8.57.0","typescript":"5.3.3","@types/jest":"29.5.12","@types/sinon":"17.0.3","@typescript-eslint/parser":"7.2.0","@tryghost/listr-smart-renderer":"0.5.14","@typescript-eslint/eslint-plugin":"7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.5_1717420526558_0.5069004257096306","host":"s3://npm-registry-packages"}},"0.1.6":{"name":"@tryghost/mg-context","version":"0.1.6","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.1.6","maintainers":[{"name":"ryan_feigenbaum","email":"ryan.feigenbaum@gmail.com"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"dvdwinden","email":"danielvanderwinden@ghost.org"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"sagzy","email":"hey@sagzy.io"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"hadret","email":"filip@ghost.org"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"ronaldlangeveld","email":"hi@ronaldlangeveld.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"djordjevlais","email":"djordje@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"homepage":"https://github.com/TryGhost/migrate/tree/main#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"644992e3f6ba9e5b47b82764aabf7bf18b281c22","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.6.tgz","fileCount":42,"integrity":"sha512-9ITFU4Fwn9QsaC+hBjERolNBKCLLoZy5B8IxhcfSO7Auc8vQXL4KgclpjQIS75OfAxSWBC9CUMqRBIVdRJX7eg==","signatures":[{"sig":"MEQCICto6MdjPL5KySdwOv290nUSmHLTtE6Howx2Qs5iydl8AiBTMltYnNZVUxTT0Vv2zI2dfmpmizZ8vZQKYuSsLllBhQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":159947},"main":"build/index.js","type":"module","types":"build/types.d.ts","gitHead":"4995b3fa8393ec37c7181e08b9cd76a49a056cb1","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && rm -rf coverage && yarn build --force && NODE_OPTIONS=--experimental-vm-modules c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura jest build/test  --runInBand","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":{"url":"git+https://github.com/TryGhost/migrate.git#main","type":"git"},"_npmVersion":"lerna/8.1.3/node@v18.18.0+arm64 (darwin)","description":"This package makes it easier to create post objects that can be used in the Ghost migration tools. It aims to provide a consistent, typed interface for posts, pages, tags, and authors. It also validates input data to ensure that the resulting object is va","directories":{},"_nodeVersion":"18.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.2","jest":"29.7.0","sinon":"18.0.0","eslint":"8.57.0","typescript":"5.4.5","@types/jest":"29.5.12","@types/sinon":"17.0.3","@typescript-eslint/parser":"7.17.0","@tryghost/html-to-mobiledoc":"3.1.1","@tryghost/kg-html-to-lexical":"1.1.3","@tryghost/listr-smart-renderer":"0.5.15","@typescript-eslint/eslint-plugin":"7.17.0"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.6_1722260826062_0.11055558548228084","host":"s3://npm-registry-packages"}},"0.1.7":{"name":"@tryghost/mg-context","version":"0.1.7","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/mg-context@0.1.7","maintainers":[{"name":"ryan_feigenbaum","email":"ryan.feigenbaum@gmail.com"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"dvdwinden","email":"danielvanderwinden@ghost.org"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"sagzy","email":"hey@sagzy.io"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"hadret","email":"filip@ghost.org"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"ronaldlangeveld","email":"hi@ronaldlangeveld.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"djordjevlais","email":"djordje@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"dist":{"shasum":"35f1d7865ac64613d59da35b4fce23628c2361b6","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.7.tgz","fileCount":42,"integrity":"sha512-v6CdVRgOlTJiO3ioflLaXG0MPUyDaiwZHHAszaRX6lrGEzo+iL3Zb+xwCa9dxDm6zLFPO3sop0zXYnVXOuehNg==","signatures":[{"sig":"MEUCIQC+jBkChCRCihEvSD4HimjN4ZPzUQgr6jEj+ftC/PMyOQIgZ9xPQGyTHDgupVy2tTBfYv9aFK/vM1GgsDpoz7a4XEY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":159946},"main":"build/index.js","type":"module","types":"build/types.d.ts","gitHead":"c1d13ccea270adcaf60dfc9d1e371ef25dfad31e","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && rm -rf coverage && yarn build --force && NODE_OPTIONS=--experimental-vm-modules c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura jest build/test  --runInBand","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":"https://github.com/TryGhost/migrate/tree/main/packages/mg-context","_npmVersion":"lerna/8.1.7/node@v20.16.0+arm64 (darwin)","directories":{},"_nodeVersion":"20.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.2","jest":"29.7.0","sinon":"18.0.0","eslint":"8.57.0","typescript":"5.5.4","@types/jest":"29.5.12","@types/sinon":"17.0.3","@typescript-eslint/parser":"8.1.0","@tryghost/html-to-mobiledoc":"3.1.4","@tryghost/kg-html-to-lexical":"1.1.14","@tryghost/listr-smart-renderer":"0.5.15","@typescript-eslint/eslint-plugin":"8.1.0"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.7_1724767405900_0.7157896889307311","host":"s3://npm-registry-packages"}},"0.1.8":{"name":"@tryghost/mg-context","version":"0.1.8","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/mg-context@0.1.8","maintainers":[{"name":"ryan_feigenbaum","email":"ryan.feigenbaum@gmail.com"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"dvdwinden","email":"danielvanderwinden@ghost.org"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"hadret","email":"filip@ghost.org"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"ronaldlangeveld","email":"hi@ronaldlangeveld.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"djordjevlais","email":"djordje@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"dist":{"shasum":"eec5de1767f33e51b176b311483e325968400a9f","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.8.tgz","fileCount":42,"integrity":"sha512-13mQ/eTLNuAGqomoWIRTeJVo519UBE0tEPB/ohcFoL8v/vRk9J6tCcPWJ2J1MoI1dZPveNlTjZbnCMsQDhP5Yw==","signatures":[{"sig":"MEYCIQD6pv07mxnPf24qRk/ZhspC7pqOCrqN3wmXM2/Zmn736gIhAMfLlDdhjTHWe1AQaDmdACSC89LFffUEIhSJjzGO5pIs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":159946},"main":"build/index.js","type":"module","types":"build/types.d.ts","gitHead":"9994cb30b1c2c72b2c66ab5b532a0fa7dcedec3c","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && rm -rf coverage && yarn build --force && NODE_OPTIONS=--experimental-vm-modules c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura jest build/test  --runInBand","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":"https://github.com/TryGhost/migrate/tree/main/packages/mg-context","_npmVersion":"lerna/8.1.7/node@v20.16.0+arm64 (darwin)","directories":{},"_nodeVersion":"20.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.2","jest":"29.7.0","sinon":"18.0.0","eslint":"8.57.0","typescript":"5.5.4","@types/jest":"29.5.12","@types/sinon":"17.0.3","@typescript-eslint/parser":"8.1.0","@tryghost/html-to-mobiledoc":"3.1.5","@tryghost/kg-html-to-lexical":"1.1.19","@tryghost/listr-smart-renderer":"0.5.15","@typescript-eslint/eslint-plugin":"8.1.0"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.8_1727091265927_0.5522442261834934","host":"s3://npm-registry-packages"}},"0.1.9":{"name":"@tryghost/mg-context","version":"0.1.9","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/mg-context@0.1.9","maintainers":[{"name":"ryan_feigenbaum","email":"ryan.feigenbaum@gmail.com"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"dvdwinden","email":"danielvanderwinden@ghost.org"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"hadret","email":"filip@ghost.org"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"ronaldlangeveld","email":"hi@ronaldlangeveld.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"djordjevlais","email":"djordje@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"dist":{"shasum":"2a1c0e72678b6e7b1632f26a6b2c8af38794fad1","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.9.tgz","fileCount":42,"integrity":"sha512-gwVkyqvSTwFRjb5tIJyU9bcwSPq4eMERALEvzsCbf8+pyr71Y0D9SCWD5cwEWGU90G3uyZJsN82b95IjVkkZtA==","signatures":[{"sig":"MEUCIQCyjHjvc7DRVkct5A/G+DeGpDwfhsW4AV94PeoV2qT1FQIgWPVPcZY+Eod66ltifimLXR5DG48fsR/UoH5iZyqtNd8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":159946},"main":"build/index.js","type":"module","types":"build/types.d.ts","gitHead":"f8384df52f15e14456c33fea4de8dac2408376a3","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && rm -rf coverage && yarn build --force && NODE_OPTIONS=--experimental-vm-modules c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura jest build/test  --runInBand","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":"https://github.com/TryGhost/migrate/tree/main/packages/mg-context","_npmVersion":"lerna/8.1.8/node@v20.16.0+arm64 (darwin)","directories":{},"_nodeVersion":"20.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.2","jest":"29.7.0","sinon":"18.0.1","eslint":"8.57.0","typescript":"5.5.4","@types/jest":"29.5.12","@types/sinon":"17.0.3","@typescript-eslint/parser":"8.8.0","@tryghost/html-to-mobiledoc":"3.1.5","@tryghost/kg-html-to-lexical":"1.1.19","@tryghost/listr-smart-renderer":"0.5.15","@typescript-eslint/eslint-plugin":"8.8.0"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.9_1729076039303_0.2964004882390432","host":"s3://npm-registry-packages"}},"0.1.10":{"name":"@tryghost/mg-context","version":"0.1.10","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/mg-context@0.1.10","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"djordjevlais","email":"djordje@ghost.org"},{"name":"ronaldlangeveld","email":"hi@ronaldlangeveld.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"dvdwinden","email":"danielvanderwinden@ghost.org"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"charliegilbert","email":"charlie@ghost.org"}],"dist":{"shasum":"36ea61869f4413237f10d94187c1e30c294062e6","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.10.tgz","fileCount":42,"integrity":"sha512-Uv13zi7rn6qUWMwBCqCgJMn16z56f6FxJoEVAcW0VvQ9dwdh+lwBJIAVL7bXcdYb607vqbaqThR3aXnmVd19ow==","signatures":[{"sig":"MEUCIEmtTDQKEoyAxyiH2vqGZGTpJ/jkixncSUB67Du2SU+2AiEA4UAa58B+HhYet3Y1nDjo8kYuX+cnVXxg4hCEqNMqa40=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":159619},"main":"build/index.js","type":"module","types":"build/types.d.ts","gitHead":"fd2fdb1542c90de5caac0feaa76e8ea599ef202f","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && rm -rf coverage && yarn build --force && NODE_OPTIONS=--experimental-vm-modules c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura jest build/test  --runInBand","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":"https://github.com/TryGhost/migrate/tree/main/packages/mg-context","_npmVersion":"lerna/8.1.9/node@v20.18.0+arm64 (darwin)","directories":{},"_nodeVersion":"20.18.0","dependencies":{"@tryghost/validator":"0.2.15","@tryghost/html-to-mobiledoc":"3.1.5","@tryghost/kg-html-to-lexical":"1.1.22","@tryghost/listr-smart-renderer":"0.5.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","jest":"29.7.0","sinon":"18.0.1","eslint":"8.57.0","typescript":"5.5.4","@types/jest":"29.5.12","@types/sinon":"17.0.3","@typescript-eslint/parser":"8.8.0","@typescript-eslint/eslint-plugin":"8.8.0"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.10_1736349039040_0.3257474164225471","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@tryghost/mg-context","version":"0.1.11","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/mg-context@0.1.11","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"djordjevlais","email":"djordje@ghost.org"},{"name":"ronaldlangeveld","email":"hi@ronaldlangeveld.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"dvdwinden","email":"danielvanderwinden@ghost.org"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"charliegilbert","email":"charlie@ghost.org"}],"dist":{"shasum":"38cf957975e650ec43cbb8cc5708f151e6c1ff61","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.11.tgz","fileCount":42,"integrity":"sha512-wB0eWuO1q/C6bxYlbrkUyUBlmCd+99aHZDEJK2KpgI0FTjWTcLrNQNHoIQaANKoM6ahJc1+4e+k8wBKGZf69ow==","signatures":[{"sig":"MEUCIQDdNtd4ZyjPVDN2o2eBTtj3WJ0mnp2h9uVLtgven5LyDwIgH/z7apBI4ZTgosQO8WhVdoEJ6MGN88m8yfxTqJf0HmI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":159619},"main":"build/index.js","type":"module","types":"build/types.d.ts","gitHead":"1d141c6accc1610a935622120720c36d6d3c2182","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && rm -rf coverage && yarn build --force && NODE_OPTIONS=--experimental-vm-modules c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura jest build/test  --runInBand","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":"https://github.com/TryGhost/migrate/tree/main/packages/mg-context","_npmVersion":"lerna/8.1.9/node@v20.18.0+arm64 (darwin)","directories":{},"_nodeVersion":"20.18.0","dependencies":{"@tryghost/validator":"0.2.15","@tryghost/html-to-mobiledoc":"3.1.6","@tryghost/kg-html-to-lexical":"1.1.23","@tryghost/listr-smart-renderer":"0.5.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","jest":"29.7.0","sinon":"18.0.1","eslint":"8.57.0","typescript":"5.5.4","@types/jest":"29.5.12","@types/sinon":"17.0.3","@typescript-eslint/parser":"8.8.0","@typescript-eslint/eslint-plugin":"8.8.0"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.11_1737460006449_0.660449695494822","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@tryghost/mg-context","version":"0.1.12","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/mg-context@0.1.12","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"djordjevlais","email":"djordje@ghost.org"},{"name":"ronaldlangeveld","email":"hi@ronaldlangeveld.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"dvdwinden","email":"danielvanderwinden@ghost.org"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"charliegilbert","email":"charlie@ghost.org"}],"dist":{"shasum":"812e3d7c0564220707d710d154ac824181572c6c","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.12.tgz","fileCount":42,"integrity":"sha512-v76KkVFzNwMrVlu+vWvFhFxBs0DPRSZm74xE7Gm0oaUqKDhNUmVDbgQfcAAu9fpP/0G6nfPfBFBNwMRw5sNepw==","signatures":[{"sig":"MEUCIAbXl4dQDlzdpk0ocdsngNwtNj8X672ep3QoWnNctImrAiEApzq12a5fXHW9PYmXqIawWXU9O83ylmVxDAOlzHXAyZM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159619},"main":"build/index.js","type":"module","types":"build/types.d.ts","gitHead":"f0a0ccbcebbcb12911381dd182782a084e3c82fb","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && rm -rf coverage && yarn build --force && NODE_OPTIONS=--experimental-vm-modules c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura jest build/test  --runInBand","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":"https://github.com/TryGhost/migrate/tree/main/packages/mg-context","_npmVersion":"lerna/8.1.9/node@v20.18.0+arm64 (darwin)","directories":{},"_nodeVersion":"20.18.0","dependencies":{"@tryghost/validator":"0.2.15","@tryghost/html-to-mobiledoc":"3.1.6","@tryghost/kg-html-to-lexical":"1.1.25","@tryghost/listr-smart-renderer":"0.5.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","jest":"29.7.0","sinon":"18.0.1","eslint":"8.57.0","typescript":"5.5.4","@types/jest":"29.5.12","@types/sinon":"17.0.3","@typescript-eslint/parser":"8.8.0","@typescript-eslint/eslint-plugin":"8.8.0"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.12_1738925625914_0.7108283546690584","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@tryghost/mg-context","version":"0.1.13","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/mg-context@0.1.13","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"djordjevlais","email":"djordje@ghost.org"},{"name":"ronaldlangeveld","email":"hi@ronaldlangeveld.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"dvdwinden","email":"danielvanderwinden@ghost.org"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"charliegilbert","email":"charlie@ghost.org"}],"dist":{"shasum":"5b4b47a5d747529483e8825ab133efb6ba87bf8c","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.13.tgz","fileCount":42,"integrity":"sha512-TQNoOF4HA/nJv0RpOyoPeehIgKmWTq1D1yKCYzYImWtKhhk8TStd9tTyh/h7dsh53OgOW1Klwz68tMp/cTiK1g==","signatures":[{"sig":"MEUCIQC0+E9LxbT8ZrkrMT+8aVXvGUvuA9HZFrT8ATYm1PRzPwIgbv/DYEtW4kUr1Kd11vng/dclCiqrJCdnIcohDASJv10=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159621},"main":"build/index.js","type":"module","types":"build/types.d.ts","gitHead":"e666c68ee0ad18a07164c7b744d8128d69c8c37b","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && rm -rf coverage && yarn build --force && NODE_OPTIONS=--experimental-vm-modules c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura jest build/test  --runInBand","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":"https://github.com/TryGhost/migrate/tree/main/packages/mg-context","_npmVersion":"lerna/8.1.9/node@v20.18.0+arm64 (darwin)","directories":{},"_nodeVersion":"20.18.0","dependencies":{"@tryghost/validator":"0.2.15","@tryghost/html-to-mobiledoc":"3.1.6","@tryghost/kg-html-to-lexical":"1.1.25","@tryghost/listr-smart-renderer":"0.5.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","jest":"29.7.0","sinon":"19.0.2","eslint":"8.57.0","typescript":"5.5.4","@types/jest":"29.5.14","@types/sinon":"17.0.3","@typescript-eslint/parser":"8.24.0","@typescript-eslint/eslint-plugin":"8.24.0"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.13_1739277623944_0.34391909349296346","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"@tryghost/mg-context","version":"0.1.14","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/mg-context@0.1.14","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"ronaldlangeveld","email":"hi@ronaldlangeveld.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"dvdwinden","email":"danielvanderwinden@ghost.org"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"charliegilbert","email":"charlie@ghost.org"}],"dist":{"shasum":"cd6e35c7e5a10a79140ebcadcc1a6d06007e90c0","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.14.tgz","fileCount":42,"integrity":"sha512-3velq/BmhNxu4o49xgEUa+pI/KOmScFYGNzvZoUqf+R0vT+68pcynixoPIseinFrJic7dSs5bNihyzcd2EAF9Q==","signatures":[{"sig":"MEQCIFZgk/wN2T5JdLAhrobSl+QrFTPDL4r80ylFdBVPCjLKAiA7EQQwDOcRpg5hxizHuTuaQ7zcMIaBqTMAfwHhHxWXCQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159621},"main":"build/index.js","type":"module","types":"build/types.d.ts","gitHead":"8b6074ac86f7eca0a8ea4b7e9d1428260f0616cd","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && rm -rf coverage && yarn build --force && NODE_OPTIONS=--experimental-vm-modules c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura jest build/test  --runInBand","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":"https://github.com/TryGhost/migrate/tree/main/packages/mg-context","_npmVersion":"lerna/8.1.9/node@v20.18.3+arm64 (darwin)","directories":{},"_nodeVersion":"20.18.3","dependencies":{"@tryghost/validator":"0.2.15","@tryghost/html-to-mobiledoc":"3.1.6","@tryghost/kg-html-to-lexical":"1.1.26","@tryghost/listr-smart-renderer":"0.5.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","jest":"29.7.0","sinon":"19.0.2","eslint":"8.57.0","typescript":"5.5.4","@types/jest":"29.5.14","@types/sinon":"17.0.3","@typescript-eslint/parser":"8.24.0","@typescript-eslint/eslint-plugin":"8.24.0"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.14_1739984515542_0.5789298725423031","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"@tryghost/mg-context","version":"0.1.15","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/mg-context@0.1.15","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"ronaldlangeveld","email":"hi@ronaldlangeveld.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"dvdwinden","email":"danielvanderwinden@ghost.org"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"charliegilbert","email":"charlie@ghost.org"}],"dist":{"shasum":"f959620cc388b550189c33b3f9c2072da4f02db2","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.15.tgz","fileCount":42,"integrity":"sha512-hu+M0YGKxpTCcIA9KIYBBvOeyAYSUagwKyUpo3euH/dBn5aSfQaoWT3fgyf5uvH9m1dMTfdVOGRFyD7huwcuMQ==","signatures":[{"sig":"MEUCIGOP8A/5jAMCsyqq7vfH2BGEF18dswRtpj7G372RM6mqAiEAn8r2uXEi2bYmcUeeangQAXCs5zIUQfZuosJnpt42dt0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159620},"main":"build/index.js","type":"module","types":"build/types.d.ts","gitHead":"edbda067679c3a2ef8ae36df2eebccd60710368f","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && rm -rf coverage && yarn build --force && NODE_OPTIONS=--experimental-vm-modules c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura jest build/test  --runInBand","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":"https://github.com/TryGhost/migrate/tree/main/packages/mg-context","_npmVersion":"lerna/8.1.9/node@v20.18.3+arm64 (darwin)","directories":{},"_nodeVersion":"20.18.3","dependencies":{"@tryghost/validator":"0.2.15","@tryghost/html-to-mobiledoc":"3.2.0","@tryghost/kg-html-to-lexical":"1.2.0","@tryghost/listr-smart-renderer":"0.5.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","jest":"29.7.0","sinon":"19.0.2","eslint":"8.57.0","typescript":"5.5.4","@types/jest":"29.5.14","@types/sinon":"17.0.3","@typescript-eslint/parser":"8.24.0","@typescript-eslint/eslint-plugin":"8.24.0"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.15_1740493733842_0.9619621130107443","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"@tryghost/mg-context","version":"0.1.16","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/mg-context@0.1.16","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"ronaldlangeveld","email":"hi@ronaldlangeveld.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"dvdwinden","email":"danielvanderwinden@ghost.org"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"charliegilbert","email":"charlie@ghost.org"}],"dist":{"shasum":"2b324f179f58fefc68bb6721fb4c979519aed772","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.16.tgz","fileCount":42,"integrity":"sha512-gxv62AmLYwDxmh6i7q9at3e/YOBaXaxIYnTxehBceaqD4NXezgw+CCfTVcx7RTr+9JpYIxMghE4KaOF7+M+dsw==","signatures":[{"sig":"MEUCIQDmCPMyZfyR/nrmMXrsHR6wzKCsl6dJSm67Nj3VSgCivgIgPFm7xbzjCLnB1VmGi/oL5ouheHgRHCkBsoUB+pQsslA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159620},"main":"build/index.js","type":"module","types":"build/types.d.ts","gitHead":"22328d3f0c26bd0babe631f61c96b34cb5afa376","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && rm -rf coverage && yarn build --force && NODE_OPTIONS=--experimental-vm-modules c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura jest build/test  --runInBand","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":"https://github.com/TryGhost/migrate/tree/main/packages/mg-context","_npmVersion":"lerna/8.1.9/node@v20.18.3+arm64 (darwin)","directories":{},"_nodeVersion":"20.18.3","dependencies":{"@tryghost/validator":"0.2.15","@tryghost/html-to-mobiledoc":"3.2.0","@tryghost/kg-html-to-lexical":"1.2.2","@tryghost/listr-smart-renderer":"0.5.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","jest":"29.7.0","sinon":"19.0.2","eslint":"8.57.0","typescript":"5.5.4","@types/jest":"29.5.14","@types/sinon":"17.0.3","@typescript-eslint/parser":"8.24.0","@typescript-eslint/eslint-plugin":"8.24.0"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.16_1741600066382_0.06192221461444403","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"@tryghost/mg-context","version":"0.1.17","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/mg-context@0.1.17","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"ronaldlangeveld","email":"hi@ronaldlangeveld.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"dvdwinden","email":"danielvanderwinden@ghost.org"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"charliegilbert","email":"charlie@ghost.org"}],"dist":{"shasum":"c610940cc0ca66539537b41f35c5958b76469b41","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.17.tgz","fileCount":42,"integrity":"sha512-ZdmzvNAAF665shxqIxv9E07XUFyiGLIf3wDWXJR/LLdiMk61SKA24L2a7Eb1ahbb8RGUPuCuHjCQs49u3jNzaw==","signatures":[{"sig":"MEUCIHfH6n9hVizmxhMAgLVoWHpoXSHTbB+VF5skYkbw90lVAiEA4BScSHScsQtaArjsbRxCEozc5gVryUIMNMyQOjA9/1o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159642},"main":"build/index.js","type":"module","types":"build/types.d.ts","gitHead":"c0d0850c491eb693ffbd33fd68f88ca87bb15f6a","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && rm -rf coverage && yarn build --force && NODE_OPTIONS=--experimental-vm-modules c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura jest build/test  --runInBand","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":"https://github.com/TryGhost/migrate/tree/main/packages/mg-context","_npmVersion":"lerna/8.1.9/node@v20.18.3+arm64 (darwin)","directories":{},"_nodeVersion":"20.18.3","dependencies":{"@tryghost/validator":"0.2.15","@tryghost/html-to-mobiledoc":"3.2.0","@tryghost/kg-html-to-lexical":"1.2.5","@tryghost/listr-smart-renderer":"0.5.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","jest":"29.7.0","sinon":"19.0.2","eslint":"8.57.0","typescript":"5.5.4","@types/jest":"29.5.14","@types/sinon":"17.0.3","@typescript-eslint/parser":"8.24.0","@typescript-eslint/eslint-plugin":"8.24.0"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.17_1742835304496_0.23528447382104467","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"@tryghost/mg-context","version":"0.1.18","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/mg-context@0.1.18","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"ronaldlangeveld","email":"hi@ronaldlangeveld.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"dvdwinden","email":"danielvanderwinden@ghost.org"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"charliegilbert","email":"charlie@ghost.org"},{"name":"ghost-slimer","email":"info@ghost.org"}],"dist":{"shasum":"dda56971dce5573a6b85a23d37c0693f1d935d4d","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.18.tgz","fileCount":42,"integrity":"sha512-oTjELsCxahpJv8+rY+hFEl+N9XusKrKZcp3r4igpvGqnxKmMUIgtbtT1MsyPrRC6kIfF+9zRDaJDGrfN3vNNEA==","signatures":[{"sig":"MEQCIEW79RFi+Hy2W3pUMrsDEPHDNdrCyFBMeySmvkQIhL8/AiBJFRo9f3XrFXQCw4E4UGjn85WC+sDb7Y3fm1vmRuTXug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159642},"main":"build/index.js","type":"module","types":"build/types.d.ts","gitHead":"e3a0a2184439eb672dedb18311cc6bcaebe4e334","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && rm -rf coverage && yarn build --force && NODE_OPTIONS=--experimental-vm-modules c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura jest build/test  --runInBand","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":"https://github.com/TryGhost/migrate/tree/main/packages/mg-context","_npmVersion":"lerna/8.1.9/node@v20.18.3+arm64 (darwin)","directories":{},"_nodeVersion":"20.18.3","dependencies":{"@tryghost/validator":"0.2.15","@tryghost/html-to-mobiledoc":"3.2.1","@tryghost/kg-html-to-lexical":"1.2.5","@tryghost/listr-smart-renderer":"0.5.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","jest":"29.7.0","sinon":"19.0.2","eslint":"8.57.0","typescript":"5.5.4","@types/jest":"29.5.14","@types/sinon":"17.0.3","@typescript-eslint/parser":"8.24.0","@typescript-eslint/eslint-plugin":"8.24.0"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.18_1745001567056_0.3262988466033039","host":"s3://npm-registry-packages-npm-production"}},"0.1.19":{"name":"@tryghost/mg-context","version":"0.1.19","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/mg-context@0.1.19","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"charliegilbert","email":"charlie@ghost.org"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"ibalosh","email":"ibalosh@gmail.com"}],"dist":{"shasum":"f51645957ebaba4ea82bfb72fdb7668d1761f95d","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.19.tgz","fileCount":42,"integrity":"sha512-EZMYn/QO4k4fIwRzdEQcY98Lag1L5TYs9wU50ZCZcdQ2UeGPvXRz3ke23qMbV34tkO4bSqxemHwy9xlfmoGoKQ==","signatures":[{"sig":"MEUCIHrOcbYksLTMJuU86GP0z8MYjq50I4nzRDoGX98AJZWuAiEA2maYPEcCrRdR8ak/HoyhBG5Xqi4oytGjNGqIHXWkpFg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159642},"main":"build/index.js","type":"module","types":"build/types.d.ts","gitHead":"958389c2c9667c0e7e44f983d4fd1aa256caff4d","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && rm -rf coverage && yarn build --force && NODE_OPTIONS=--experimental-vm-modules c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura jest build/test  --runInBand","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","actor":{"name":"pauladamdavis","type":"user","email":"paul@ghost.org"},"email":"paul@ghost.org"},"repository":"https://github.com/TryGhost/migrate/tree/main/packages/mg-context","_npmVersion":"lerna/8.2.3/node@v22.17.0+arm64 (darwin)","directories":{},"_nodeVersion":"22.17.0","dependencies":{"@tryghost/validator":"0.2.17","@tryghost/html-to-mobiledoc":"3.2.8","@tryghost/kg-html-to-lexical":"1.2.24","@tryghost/listr-smart-renderer":"0.5.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","jest":"30.0.3","sinon":"21.0.0","eslint":"8.57.0","typescript":"5.8.3","@types/jest":"30.0.0","@types/sinon":"17.0.4","@typescript-eslint/parser":"8.35.1","@typescript-eslint/eslint-plugin":"8.35.1"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.19_1751369471814_0.4040109879539895","host":"s3://npm-registry-packages-npm-production"}},"0.1.20":{"name":"@tryghost/mg-context","version":"0.1.20","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/mg-context@0.1.20","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"charliegilbert","email":"charlie@ghost.org"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"ibalosh","email":"ibalosh@gmail.com"}],"dist":{"shasum":"9abad4ec983898ee6f94c85ffb7715b7ebb4a472","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.20.tgz","fileCount":42,"integrity":"sha512-Mnq6fC2NlG7wrG89DdAgbpP8zy8JD/2K3XJaIdpAkLVutNUlvrNT2w8/d8C3RUGaf9yZcfbgIq85HTl0KP8JBg==","signatures":[{"sig":"MEUCIQCYmTJnh8kyglphAm3qa99t0vNDcpsLXLoaH/a0OiwNTwIgVqeoxf9Tpo8mYpAciw0E8oQL1tkDXg0CenJWbB8EwDU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159642},"main":"build/index.js","type":"module","types":"build/types.d.ts","gitHead":"89e6e38587face966cdfadfbbc74aef95c594c7c","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && rm -rf coverage && yarn build --force && NODE_OPTIONS=--experimental-vm-modules c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura jest build/test  --runInBand","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":"https://github.com/TryGhost/migrate/tree/main/packages/mg-context","_npmVersion":"lerna/8.2.3/node@v22.17.0+arm64 (darwin)","directories":{},"_nodeVersion":"22.17.0","dependencies":{"@tryghost/validator":"0.2.17","@tryghost/html-to-mobiledoc":"3.2.8","@tryghost/kg-html-to-lexical":"1.2.24","@tryghost/listr-smart-renderer":"0.5.18"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","jest":"30.0.5","sinon":"21.0.0","eslint":"8.57.0","typescript":"5.8.3","@types/jest":"30.0.0","@types/sinon":"17.0.4","@typescript-eslint/parser":"8.38.0","@typescript-eslint/eslint-plugin":"8.38.0"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.20_1754130057502_0.3530562476450241","host":"s3://npm-registry-packages-npm-production"}},"0.1.21":{"name":"@tryghost/mg-context","version":"0.1.21","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/mg-context@0.1.21","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"charliegilbert","email":"charlie@ghost.org"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"ibalosh","email":"ibalosh@gmail.com"}],"dist":{"shasum":"b123ba95729ead0ca4bd791e1570609b43441d07","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.21.tgz","fileCount":42,"integrity":"sha512-njsOJDJETMiefD4gJweCaJDntR9JB69bWe+e0K7FSFjaksHSZruFJExyrFP1dFaT4bQJPuCNPVRkmS5YQN07EA==","signatures":[{"sig":"MEQCICNa+zhTdttdEOh2ywq5jcqrVrWWBoqFQsc3GAdn9h3YAiB+GQ6Mz6Q3Qn99Dr/zQUHFEAkw4PB4AGBf17l3IGnweQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159642},"main":"build/index.js","type":"module","types":"build/types.d.ts","gitHead":"2cc65b7a0a9a9c14a5088382da8c0a75f58d8df3","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && rm -rf coverage && yarn build --force && NODE_OPTIONS=--experimental-vm-modules c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura jest build/test  --runInBand","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":"https://github.com/TryGhost/migrate/tree/main/packages/mg-context","_npmVersion":"lerna/8.2.3/node@v22.17.0+arm64 (darwin)","directories":{},"_nodeVersion":"22.17.0","dependencies":{"@tryghost/validator":"0.2.17","@tryghost/html-to-mobiledoc":"3.2.8","@tryghost/kg-html-to-lexical":"1.2.24","@tryghost/listr-smart-renderer":"0.5.19"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","jest":"30.0.5","sinon":"21.0.0","eslint":"8.57.0","typescript":"5.8.3","@types/jest":"30.0.0","@types/sinon":"17.0.4","@typescript-eslint/parser":"8.38.0","@typescript-eslint/eslint-plugin":"8.38.0"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.21_1754592699225_0.2568746493276539","host":"s3://npm-registry-packages-npm-production"}},"0.1.22":{"name":"@tryghost/mg-context","version":"0.1.22","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/mg-context@0.1.22","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"charliegilbert","email":"charlie@ghost.org"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"ibalosh","email":"ibalosh@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"}],"dist":{"shasum":"404a61d6bbd0d0041886d6c354e6aa4a5656df6c","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.22.tgz","fileCount":42,"integrity":"sha512-qyEoHjcvPrXAEpGcfOB181ezWbIpOwlmPw4juQvwPEqHou1UXiok51XoQylRa0SVTXnvsQ7fKEd8AGq2+1UANw==","signatures":[{"sig":"MEYCIQCgKanrz6G+1uu3D1e6ba2O0rTpqPEqk9/LFwpZ4vl1bgIhAIijYTshncQ4D8CIafFcu/k4JHPZN34DpIF9MUhfnTvk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159642},"main":"build/index.js","type":"module","types":"build/types.d.ts","gitHead":"b506e5ae360cb4fccf2903d84e97dca2f8b3e5ff","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && rm -rf coverage && yarn build --force && NODE_OPTIONS=--experimental-vm-modules c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura jest build/test  --runInBand","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":"https://github.com/TryGhost/migrate/tree/main/packages/mg-context","_npmVersion":"lerna/8.2.3/node@v22.17.0+arm64 (darwin)","directories":{},"_nodeVersion":"22.17.0","dependencies":{"@tryghost/validator":"0.2.17","@tryghost/html-to-mobiledoc":"3.2.8","@tryghost/kg-html-to-lexical":"1.2.24","@tryghost/listr-smart-renderer":"0.5.20"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","jest":"30.0.5","sinon":"21.0.0","eslint":"8.57.0","typescript":"5.8.3","@types/jest":"30.0.0","@types/sinon":"17.0.4","@typescript-eslint/parser":"8.38.0","@typescript-eslint/eslint-plugin":"8.38.0"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.22_1756118021263_0.5898288215341418","host":"s3://npm-registry-packages-npm-production"}},"0.1.23":{"name":"@tryghost/mg-context","version":"0.1.23","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/mg-context@0.1.23","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"ibalosh","email":"ibalosh@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"dist":{"shasum":"2773870e1be308124bc97c2449f7415027cb57db","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.23.tgz","fileCount":42,"integrity":"sha512-AuLCIVfD3cVFwhCAQ4FHyb2w31XZ3a30pXRjHXFeqhdLu1PxQg9Jbw04qo0e3KGlcXg3ygWcs3Z1bM2nNzFQkA==","signatures":[{"sig":"MEQCICyCBD134swPu8YH3Nj0STfiqYWYl0C4GfkVQjS1qygJAiA7XPqMCoIB3OwybFOkU4qZLjQHooVNOcxd3JsCLxkNZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159754},"main":"build/index.js","type":"module","types":"build/types.d.ts","exports":{".":{"default":"./build/index.js","development":"./src/index.ts"}},"gitHead":"93b72e5f4374d9f097876b71e78fdc920af364ff","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && rm -rf coverage && yarn build --force && NODE_OPTIONS=--experimental-vm-modules c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura jest build/test  --runInBand","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":"https://github.com/TryGhost/migrate/tree/main/packages/mg-context","_npmVersion":"lerna/8.2.3/node@v22.17.0+arm64 (darwin)","directories":{},"_nodeVersion":"22.17.0","dependencies":{"@tryghost/validator":"0.2.17","@tryghost/html-to-mobiledoc":"3.2.9","@tryghost/kg-html-to-lexical":"1.2.25","@tryghost/listr-smart-renderer":"0.5.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","jest":"30.0.5","sinon":"21.0.0","eslint":"8.57.0","typescript":"5.8.3","@types/jest":"30.0.0","@types/sinon":"17.0.4","@typescript-eslint/parser":"8.38.0","@typescript-eslint/eslint-plugin":"8.38.0"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.23_1764157248196_0.14189126899620574","host":"s3://npm-registry-packages-npm-production"}},"0.1.24":{"name":"@tryghost/mg-context","version":"0.1.24","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.1.24","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"ibalosh","email":"ibalosh@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/migrate/tree/main#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"48e4f29ac6bb646f7c1229bcaeac6054cf1472c1","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.24.tgz","fileCount":42,"integrity":"sha512-sXQw4yN9xEBKWIfwzgLji9KfL7RpbPGPVnTo8RcnbLPSY/lZebXVVwC/9f7kwBg0bak10Nins6MqWhfxESxSdw==","signatures":[{"sig":"MEUCIGh3QTXbfZTJucWYy+OGDxaPAwMdLvx6bqKoCLfsIE+lAiEAvtfj0ZWLFA4/3QeVnBKLLsuBZdXZXvKMgWeT97CpcWk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159755},"main":"build/index.js","type":"module","types":"build/types.d.ts","exports":{".":{"default":"./build/index.js","development":"./src/index.ts"}},"gitHead":"027225930710c0643603f6ae346dc76504d9bb7a","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && rm -rf coverage && yarn build --force && NODE_OPTIONS=--experimental-vm-modules c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura jest build/test  --runInBand","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":{"url":"git+https://github.com/TryGhost/migrate.git#main","type":"git"},"_npmVersion":"lerna/9.0.3/node@v22.21.1+arm64 (darwin)","description":"This package makes it easier to create post objects that can be used in the Ghost migration tools. It aims to provide a consistent, typed interface for posts, pages, tags, and authors. It also validates input data to ensure that the resulting object is va","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@tryghost/validator":"0.2.17","@tryghost/html-to-mobiledoc":"3.2.12","@tryghost/kg-html-to-lexical":"1.2.28","@tryghost/listr-smart-renderer":"0.5.22"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","jest":"30.0.5","sinon":"21.0.0","eslint":"8.57.0","typescript":"5.8.3","@types/jest":"30.0.0","@types/sinon":"17.0.4","@typescript-eslint/parser":"8.38.0","@typescript-eslint/eslint-plugin":"8.38.0"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.24_1769117946831_0.0843851944155316","host":"s3://npm-registry-packages-npm-production"}},"0.1.25":{"name":"@tryghost/mg-context","version":"0.1.25","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.1.25","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/migrate/tree/main#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"ed1abd65c0968b04fa3d18fb69ca505c6f23e13f","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.25.tgz","fileCount":42,"integrity":"sha512-LPqh13nRdzx7Meddw/m34gEPd/aCRJNakFSm6VT13YmbI7cjYWjh2IUid8KE4iJlgXJQCHzedP7/BLW823B+fA==","signatures":[{"sig":"MEUCIQCu88/128pWGvObkNj8TxfYxtv9YG4voghLiqqrWqsQzAIgEaRp7nCut7FJTnRnE+Hi2IU6sY2ZQHt0aRGolzYdtUg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159755},"main":"build/index.js","type":"module","types":"build/types.d.ts","exports":{".":{"default":"./build/index.js","development":"./src/index.ts"}},"gitHead":"ac9a868976ef5963df7fc2426af9e298bd5d8666","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && rm -rf coverage && yarn build --force && NODE_OPTIONS=--experimental-vm-modules c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura jest build/test  --runInBand","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":{"url":"git+https://github.com/TryGhost/migrate.git#main","type":"git"},"_npmVersion":"lerna/9.0.4/node@v22.21.1+arm64 (darwin)","description":"This package makes it easier to create post objects that can be used in the Ghost migration tools. It aims to provide a consistent, typed interface for posts, pages, tags, and authors. It also validates input data to ensure that the resulting object is va","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@tryghost/validator":"0.2.18","@tryghost/html-to-mobiledoc":"3.2.15","@tryghost/kg-html-to-lexical":"1.2.32","@tryghost/listr-smart-renderer":"0.5.23"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","jest":"30.2.0","sinon":"21.0.1","eslint":"8.57.0","typescript":"5.9.3","@types/jest":"30.0.0","@types/sinon":"21.0.0","@typescript-eslint/parser":"8.56.0","@typescript-eslint/eslint-plugin":"8.56.0"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.25_1771612948450_0.19971081877628838","host":"s3://npm-registry-packages-npm-production"}},"0.1.26":{"name":"@tryghost/mg-context","version":"0.1.26","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.1.26","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/migrate/tree/main#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"9a80efce6cc8551379bd033dd8120ea997f5a27d","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.26.tgz","fileCount":48,"integrity":"sha512-XgAa8RA4GYujwKdOnm7ftaGjyq6+bQTedQmmDvYZU/i67fYYNM7oMlNmanLBPSJHXntoOFHKCvn48rA5a2o1bQ==","signatures":[{"sig":"MEUCIFt0jvZmeG1A5FpgaUmnG5jFM/GG5Xc9pxUx6G9OASwlAiEAv7AH+h37hMZ7V+SlE4SMKI65rmZsHQXDkc7rsPk0bq0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185786},"main":"build/index.js","type":"module","types":"build/types.d.ts","exports":{".":{"default":"./build/index.js","development":"./src/index.ts"}},"gitHead":"e1680568191322d738c188f03298910aa3622735","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && yarn build --force && c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura node --test 'build/test/**/*.test.js'","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":{"url":"git+https://github.com/TryGhost/migrate.git#main","type":"git"},"_npmVersion":"lerna/9.0.4/node@v22.21.1+arm64 (darwin)","description":"This package makes it easier to create post objects that can be used in the Ghost migration tools. It aims to provide a consistent, typed interface for posts, pages, tags, and authors. It also validates input data to ensure that the resulting object is va","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"4.3.6","@tryghost/errors":"3.0.1","@tryghost/mg-json":"0.12.0","@tryghost/validator":"2.0.1","@tryghost/html-to-mobiledoc":"3.2.19","@tryghost/kg-html-to-lexical":"1.2.36","@tryghost/listr-smart-renderer":"0.5.24"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"11.0.0","sinon":"21.0.2","eslint":"8.57.1","typescript":"5.9.3","@types/sinon":"21.0.0","@typescript-eslint/parser":"8.56.1","@typescript-eslint/eslint-plugin":"8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.26_1773231435596_0.17073769410187922","host":"s3://npm-registry-packages-npm-production"}},"0.1.27":{"name":"@tryghost/mg-context","version":"0.1.27","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.1.27","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/migrate/tree/main#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"5b104b526c85a29996b3e8a13d897dc70923bcd6","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.1.27.tgz","fileCount":48,"integrity":"sha512-7l7VlerEI2G+Neqztkz41wNCVeY+B+huijnZvnxTQZ3cN/+jspbh4NwupNE8Ia3IaaGouccJawz3NRMLXUU5pQ==","signatures":[{"sig":"MEYCIQCqc/bfRYcJ3LkLZXfA+RBvOZxSieGEdKl1aB4JhzY7DQIhAIKVqwuL33jpi7xFPtv7xZxTfxMF8Q5XJuXvOOBCmu/Q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185786},"main":"build/index.js","type":"module","types":"build/types.d.ts","exports":{".":{"default":"./build/index.js","development":"./src/index.ts"}},"gitHead":"dfaf02f58e6598ec4abb56a568eb1b6a65ee12f4","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && yarn build --force && c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura node --test 'build/test/**/*.test.js'","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":{"url":"git+https://github.com/TryGhost/migrate.git#main","type":"git"},"_npmVersion":"lerna/9.0.4/node@v22.21.1+arm64 (darwin)","description":"This package makes it easier to create post objects that can be used in the Ghost migration tools. It aims to provide a consistent, typed interface for posts, pages, tags, and authors. It also validates input data to ensure that the resulting object is va","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"4.3.6","@tryghost/errors":"3.0.3","@tryghost/mg-json":"0.12.0","@tryghost/validator":"2.0.3","@tryghost/html-to-mobiledoc":"3.2.21","@tryghost/kg-html-to-lexical":"1.2.38","@tryghost/listr-smart-renderer":"0.5.24"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"11.0.0","sinon":"21.0.3","eslint":"8.57.1","typescript":"5.9.3","@types/sinon":"21.0.0","@typescript-eslint/parser":"8.57.1","@typescript-eslint/eslint-plugin":"8.57.1"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.1.27_1774352967031_0.9671088257685923","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@tryghost/mg-context","version":"0.2.0","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.2.0","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/migrate/tree/main#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"69ff73338441c45937826d4f7126863ee7b08151","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.2.0.tgz","fileCount":54,"integrity":"sha512-xEqCpT/8axKysdRhNXtr8N5krughOs479/l8jm7xsdr3K/dObnTZ5CfBVwvMA6ewk1CbL+FbRd0wn7Uhs4hnLA==","signatures":[{"sig":"MEUCIEVw9dPVQx7zWD/M6KbNSLivwSN0/REUiZK2r+vraFWEAiEAq1YHyE1gwZGmhkYZZ6HetUsKAQaUQrvKpeljgHB67TE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":474211},"main":"build/index.js","type":"module","types":"build/types.d.ts","exports":{".":{"default":"./build/index.js","development":"./src/index.ts"}},"gitHead":"d80345b0c4da069aa467adaa39f2c7952c10ce98","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && yarn build --force && c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura node --test 'build/test/**/*.test.js'","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"pauladamdavis","email":"paul@ghost.org"},"repository":{"url":"git+https://github.com/TryGhost/migrate.git#main","type":"git"},"_npmVersion":"10.9.4","description":"A SQLite-backed data store for building Ghost import files. Provides a validated, typed interface for posts, tags, and authors with batched iteration for large migrations.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"c8":"11.0.0","zod":"4.3.6","eslint":"8.57.1","typescript":"5.9.3","@tryghost/errors":"3.0.3","@tryghost/mg-json":"0.13.0","@tryghost/validator":"2.0.3","@typescript-eslint/parser":"8.57.2","@tryghost/html-to-mobiledoc":"3.2.21","@tryghost/kg-html-to-lexical":"1.2.38","@tryghost/listr-smart-renderer":"0.6.0","@typescript-eslint/eslint-plugin":"8.57.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"11.0.0","eslint":"8.57.1","typescript":"5.9.3","@typescript-eslint/parser":"8.57.2","@typescript-eslint/eslint-plugin":"8.57.2"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.2.0_1774975635608_0.4709190161300818","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@tryghost/mg-context","version":"0.3.0","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.3.0","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/migrate#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"952643310610fc2229f0226198f88e80ae7983f6","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.3.0.tgz","fileCount":54,"integrity":"sha512-Lo4Pv+TVJMsLI/uiskqEQmIzFZjsVQo6zJF3cW0CGBF+N9JeVVSg0x2zzDABxTewKQgKAd5icW7daj3Ox/7JSQ==","signatures":[{"sig":"MEQCIEN4SlWc1Tmd2GKP4NXrG6HjD3Sd2LsLItekGY8/U7jeAiAKFgYGnI1bppqyrL66AYaXxDr2qLwvGtF588oj013aIw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fmg-context@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":529809},"main":"build/index.js","type":"module","types":"build/types.d.ts","exports":{".":{"default":"./build/index.js","development":"./src/index.ts"}},"gitHead":"0117817230d232f3eebcd9f453dd88a2a6820bbd","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && yarn build --force && c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura node --test 'build/test/**/*.test.js'","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","prepare":"yarn build","posttest":"yarn lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:941c001a-169c-42c9-8e9c-965f7582bd78"}},"repository":{"url":"git+https://github.com/TryGhost/migrate.git","type":"git","directory":"packages/mg-context"},"_npmVersion":"11.12.1","description":"A SQLite-backed data store for building Ghost import files. Provides a validated, typed interface for posts, tags, and authors with batched iteration for large migrations.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"c8":"11.0.0","zod":"4.3.6","eslint":"8.57.1","typescript":"6.0.2","@tryghost/errors":"3.0.3","@tryghost/mg-json":"0.14.0","@tryghost/validator":"2.0.3","@typescript-eslint/parser":"8.58.0","@tryghost/html-to-mobiledoc":"3.2.21","@tryghost/kg-html-to-lexical":"1.2.38","@tryghost/listr-smart-renderer":"0.7.0","@typescript-eslint/eslint-plugin":"8.58.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"11.0.0","eslint":"8.57.1","typescript":"6.0.2","@types/node":"24.12.0","@typescript-eslint/parser":"8.58.0","@typescript-eslint/eslint-plugin":"8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.3.0_1775334851795_0.6440439647667666","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@tryghost/mg-context","version":"0.4.0","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.4.0","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/migrate#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"91b062d51f5e150f352eccba8bf0754f94b7d72c","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.4.0.tgz","fileCount":54,"integrity":"sha512-7ogLAIzIZg0yhxvXY1ke0R6TP31UP6oGXFtIeBaRAcIeUPZayAyOi7HuXn3j0DnjAA2X9bksj1bYUmnYmCsu2Q==","signatures":[{"sig":"MEUCIAgl7jgZGcglXF0oz3dyPoitf17+ceibczHgdgcp/fi3AiEA1Uth6PE6wYY9MfjSziNZRRsv/VKOQrw+1XEjSoeodK4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fmg-context@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":529779},"main":"build/index.js","type":"module","_from":"file:tryghost-mg-context-0.4.0.tgz","types":"build/types.d.ts","exports":{".":{"default":"./build/index.js","development":"./src/index.ts"}},"scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && pnpm build --force && c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura node --test 'build/test/**/*.test.js'","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","posttest":"pnpm lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:941c001a-169c-42c9-8e9c-965f7582bd78"}},"_resolved":"/home/runner/work/migrate/migrate/packages/mg-context/tryghost-mg-context-0.4.0.tgz","_integrity":"sha512-7ogLAIzIZg0yhxvXY1ke0R6TP31UP6oGXFtIeBaRAcIeUPZayAyOi7HuXn3j0DnjAA2X9bksj1bYUmnYmCsu2Q==","repository":{"url":"git+https://github.com/TryGhost/migrate.git","type":"git","directory":"packages/mg-context"},"_npmVersion":"11.12.1","description":"A SQLite-backed data store for building Ghost import files. Provides a validated, typed interface for posts, tags, and authors with batched iteration for large migrations.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"c8":"11.0.0","zod":"4.3.6","eslint":"8.57.1","typescript":"6.0.2","@tryghost/errors":"3.0.3","@tryghost/mg-json":"0.15.0","@tryghost/validator":"2.0.3","@typescript-eslint/parser":"8.58.0","@tryghost/html-to-mobiledoc":"3.2.21","@tryghost/kg-html-to-lexical":"1.2.38","@tryghost/listr-smart-renderer":"0.8.0","@typescript-eslint/eslint-plugin":"8.58.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"11.0.0","eslint":"8.57.1","typescript":"6.0.2","@types/node":"24.12.0","@typescript-eslint/parser":"8.58.0","@typescript-eslint/eslint-plugin":"8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.4.0_1775416038525_0.12431430235076601","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@tryghost/mg-context","version":"0.5.0","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.5.0","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/migrate#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"893d4465f52e6b9a373090b8600bc741e0229c9f","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.5.0.tgz","fileCount":54,"integrity":"sha512-sA+BNwMalBPT8s3C/kAr4Sr1Lt+uIZ3Vs4x4rWwCtChNU2KDe1kWf7RQA3qXm56/6pbL7wY5DYexdfuqEFA2FQ==","signatures":[{"sig":"MEYCIQCf6y3n14hiWt4CaHx2WcNZcEaGGquSPYR19h/EDbD5wQIhAIci8WZwLgkRxIRgciIo3dg0fH4cRtnyfuIYEY2jpZlE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fmg-context@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":529787},"main":"build/index.js","type":"module","_from":"file:tryghost-mg-context-0.5.0.tgz","types":"build/types.d.ts","exports":{".":{"default":"./build/index.js","development":"./src/index.ts"}},"scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && pnpm build --force && c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura node --test 'build/test/**/*.test.js'","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","posttest":"pnpm lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:941c001a-169c-42c9-8e9c-965f7582bd78"}},"_resolved":"/home/runner/work/migrate/migrate/packages/mg-context/tryghost-mg-context-0.5.0.tgz","_integrity":"sha512-sA+BNwMalBPT8s3C/kAr4Sr1Lt+uIZ3Vs4x4rWwCtChNU2KDe1kWf7RQA3qXm56/6pbL7wY5DYexdfuqEFA2FQ==","repository":{"url":"git+https://github.com/TryGhost/migrate.git","type":"git","directory":"packages/mg-context"},"_npmVersion":"11.12.1","description":"A SQLite-backed data store for building Ghost import files. Provides a validated, typed interface for posts, tags, and authors with batched iteration for large migrations.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"c8":"11.0.0","zod":"4.3.6","eslint":"8.57.1","typescript":"6.0.2","@tryghost/errors":"3.0.3","@tryghost/mg-json":"0.16.0","@tryghost/validator":"2.0.3","@typescript-eslint/parser":"8.58.0","@tryghost/html-to-mobiledoc":"3.2.21","@tryghost/kg-html-to-lexical":"1.2.38","@tryghost/listr-smart-renderer":"0.9.0","@typescript-eslint/eslint-plugin":"8.58.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"11.0.0","eslint":"8.57.1","typescript":"6.0.2","@types/node":"24.12.0","@typescript-eslint/parser":"8.58.0","@typescript-eslint/eslint-plugin":"8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.5.0_1775469730549_0.24944203558318478","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@tryghost/mg-context","version":"0.6.0","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.6.0","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/migrate#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"d96da040a5d2eacd0bc1f2d45c0066dd529c4a90","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.6.0.tgz","fileCount":54,"integrity":"sha512-8cO+V0Fpv9TovDaURYdKJIb9QN/yJWW91YoRSkQC+4ByY5lnksMpdkh48sjH/TrGiWw9Y7XeKC21hifq9Uv7Sg==","signatures":[{"sig":"MEUCIQCEayVmfkYMzY7CFo2rv6HVbWXKCcNwDdI9iQqi426iYwIgXbpRfQbjrEx3A5Hz/aIUv/g5Kc/REAxdJ0FY61we4sY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fmg-context@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":529788},"main":"build/index.js","type":"module","_from":"file:tryghost-mg-context-0.6.0.tgz","types":"build/types.d.ts","exports":{".":{"default":"./build/index.js","development":"./src/index.ts"}},"scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"rm -rf build && pnpm build --force && c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura node --test 'build/test/**/*.test.js'","build":"rm -rf build && rm -rf tsconfig.tsbuildinfo && tsc --build --sourceMap","posttest":"pnpm lint","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:941c001a-169c-42c9-8e9c-965f7582bd78"}},"_resolved":"/home/runner/work/migrate/migrate/packages/mg-context/tryghost-mg-context-0.6.0.tgz","_integrity":"sha512-8cO+V0Fpv9TovDaURYdKJIb9QN/yJWW91YoRSkQC+4ByY5lnksMpdkh48sjH/TrGiWw9Y7XeKC21hifq9Uv7Sg==","repository":{"url":"git+https://github.com/TryGhost/migrate.git","type":"git","directory":"packages/mg-context"},"_npmVersion":"11.12.1","description":"A SQLite-backed data store for building Ghost import files. Provides a validated, typed interface for posts, tags, and authors with batched iteration for large migrations.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"c8":"11.0.0","zod":"4.3.6","eslint":"8.57.1","typescript":"6.0.2","@tryghost/errors":"3.0.3","@tryghost/mg-json":"0.17.0","@tryghost/validator":"2.0.3","@typescript-eslint/parser":"8.58.0","@tryghost/html-to-mobiledoc":"3.2.21","@tryghost/kg-html-to-lexical":"1.2.38","@tryghost/listr-smart-renderer":"0.10.0","@typescript-eslint/eslint-plugin":"8.58.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"11.0.0","eslint":"8.57.1","typescript":"6.0.2","@types/node":"24.12.2","@typescript-eslint/parser":"8.58.0","@typescript-eslint/eslint-plugin":"8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.6.0_1775833721405_0.45555949788621697","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@tryghost/mg-context","version":"0.7.0","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.7.0","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/migrate#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"df7ad913177c685ec6b996e1476af74a782cb473","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.7.0.tgz","fileCount":54,"integrity":"sha512-DFyvVkELf9aavPLeTzXqudMgStGHZ+JD5dXDVPTbQdoiMxaAa+hUo+1LvLSoLjljei3PrKLKKYdYz35t/kdvmA==","signatures":[{"sig":"MEUCIQCmNzf70rmKxl/h1VJcvxFz78wgDE2Eu+lb83zG4x48nwIgRzlK2AFBkGs/upWg5/YJEcwX3isK5vA+B35CF7D6pBI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fmg-context@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":558999},"main":"build/index.js","type":"module","_from":"file:tryghost-mg-context-0.7.0.tgz","types":"build/types.d.ts","exports":{".":{"default":"./build/index.js","development":"./src/index.ts"}},"scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura node --test 'build/test/**/*.test.js'","build":"tsc --build --sourceMap","posttest":"pnpm lint","test:local":"pnpm build && pnpm test","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:941c001a-169c-42c9-8e9c-965f7582bd78"}},"_resolved":"/home/runner/work/migrate/migrate/packages/mg-context/tryghost-mg-context-0.7.0.tgz","_integrity":"sha512-DFyvVkELf9aavPLeTzXqudMgStGHZ+JD5dXDVPTbQdoiMxaAa+hUo+1LvLSoLjljei3PrKLKKYdYz35t/kdvmA==","repository":{"url":"git+https://github.com/TryGhost/migrate.git","type":"git","directory":"packages/mg-context"},"_npmVersion":"11.12.1","description":"A SQLite-backed data store for building Ghost import files. Provides a validated, typed interface for posts, tags, and authors with batched iteration for large migrations.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"c8":"11.0.0","zod":"4.3.6","eslint":"8.57.1","typescript":"6.0.2","@tryghost/errors":"3.0.3","@tryghost/mg-json":"0.18.0","@tryghost/validator":"2.0.3","@typescript-eslint/parser":"8.58.1","@tryghost/html-to-mobiledoc":"3.2.21","@tryghost/kg-html-to-lexical":"1.2.38","@tryghost/listr-smart-renderer":"0.11.0","@typescript-eslint/eslint-plugin":"8.58.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"11.0.0","eslint":"8.57.1","typescript":"6.0.2","@types/node":"24.12.2","@typescript-eslint/parser":"8.58.1","@typescript-eslint/eslint-plugin":"8.58.1"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.7.0_1776328703042_0.8508583323504144","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@tryghost/mg-context","version":"0.8.0","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.8.0","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/migrate#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"30aaebc2f8da6468b05a38f34418cde6e37c4763","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.8.0.tgz","fileCount":54,"integrity":"sha512-oKKGWDCryXNT6MBpSufMr13QsIJZTf5Jaf0wsbTHuslaEFwizVQ+ZNAKYG+WjILwwvscrMwsgSphiWLYSNpuHQ==","signatures":[{"sig":"MEUCIQDctzdX0GifB4hQKGmzSDzcntSbnwMeHZCiOmK0s/yQKgIgBJ5N/CbHlwHSz8j2ddYD+X0dcEzDsiQq5ZGo6XKxJI0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fmg-context@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":558999},"main":"build/index.js","type":"module","_from":"file:tryghost-mg-context-0.8.0.tgz","types":"build/types.d.ts","exports":{".":{"default":"./build/index.js","development":"./src/index.ts"}},"scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura node --test 'build/test/**/*.test.js'","build":"tsc --build --sourceMap","posttest":"pnpm lint","test:local":"pnpm build && pnpm test","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:941c001a-169c-42c9-8e9c-965f7582bd78"}},"_resolved":"/home/runner/work/migrate/migrate/packages/mg-context/tryghost-mg-context-0.8.0.tgz","_integrity":"sha512-oKKGWDCryXNT6MBpSufMr13QsIJZTf5Jaf0wsbTHuslaEFwizVQ+ZNAKYG+WjILwwvscrMwsgSphiWLYSNpuHQ==","repository":{"url":"git+https://github.com/TryGhost/migrate.git","type":"git","directory":"packages/mg-context"},"_npmVersion":"11.12.1","description":"A SQLite-backed data store for building Ghost import files. Provides a validated, typed interface for posts, tags, and authors with batched iteration for large migrations.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"c8":"11.0.0","zod":"4.3.6","eslint":"8.57.1","typescript":"6.0.2","@tryghost/errors":"3.0.3","@tryghost/mg-json":"0.19.0","@tryghost/validator":"2.0.3","@typescript-eslint/parser":"8.58.2","@tryghost/html-to-mobiledoc":"3.2.21","@tryghost/kg-html-to-lexical":"1.2.38","@tryghost/listr-smart-renderer":"0.12.0","@typescript-eslint/eslint-plugin":"8.58.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"11.0.0","eslint":"8.57.1","typescript":"6.0.2","@types/node":"24.12.2","@typescript-eslint/parser":"8.58.2","@typescript-eslint/eslint-plugin":"8.58.2"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.8.0_1776684454724_0.9176393779769398","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@tryghost/mg-context","version":"0.8.1","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.8.1","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/migrate#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"34528a8884c8382a3bb4225018b2c08ba6b9a799","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.8.1.tgz","fileCount":54,"integrity":"sha512-vHwDpomoLNAw1VG4Qnexz0GguyfTMQPIvG5hyqEBE6n2gZq/09r/rdkKiFJetWNojR9WwIEhbFvd7yybyPW6Cw==","signatures":[{"sig":"MEQCICmYvOM1h2fB5ge/RN/Q9jBC4s8L5dBOTGT4Xh01X63zAiBfREyvyg04QtNrqcWFaWde4c1b4o6XpJtgFgs0NDn3oQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fmg-context@0.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":558994},"main":"build/index.js","type":"module","_from":"file:tryghost-mg-context-0.8.1.tgz","types":"build/types.d.ts","exports":{".":{"source":"./src/index.ts","default":"./build/index.js"}},"scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura node --test 'build/test/**/*.test.js'","build":"tsc --build --sourceMap","posttest":"pnpm lint","test:local":"pnpm build && pnpm test","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:941c001a-169c-42c9-8e9c-965f7582bd78"}},"_resolved":"/home/runner/work/migrate/migrate/packages/mg-context/tryghost-mg-context-0.8.1.tgz","_integrity":"sha512-vHwDpomoLNAw1VG4Qnexz0GguyfTMQPIvG5hyqEBE6n2gZq/09r/rdkKiFJetWNojR9WwIEhbFvd7yybyPW6Cw==","repository":{"url":"git+https://github.com/TryGhost/migrate.git","type":"git","directory":"packages/mg-context"},"_npmVersion":"11.13.0","description":"A SQLite-backed data store for building Ghost import files. Provides a validated, typed interface for posts, tags, and authors with batched iteration for large migrations.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"c8":"11.0.0","zod":"4.3.6","eslint":"8.57.1","typescript":"6.0.3","@tryghost/errors":"3.0.3","@tryghost/mg-json":"0.19.1","@tryghost/validator":"2.0.3","@typescript-eslint/parser":"8.59.0","@tryghost/html-to-mobiledoc":"3.2.21","@tryghost/kg-html-to-lexical":"1.2.38","@tryghost/listr-smart-renderer":"0.12.1","@typescript-eslint/eslint-plugin":"8.59.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"11.0.0","eslint":"8.57.1","typescript":"6.0.3","@types/node":"24.12.2","@typescript-eslint/parser":"8.59.0","@typescript-eslint/eslint-plugin":"8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.8.1_1777018158513_0.12410932372786676","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@tryghost/mg-context","version":"0.8.2","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.8.2","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/migrate#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"2cb4017a38bd99fcf1e3a9871b9ae4297bebcd77","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.8.2.tgz","fileCount":54,"integrity":"sha512-iKulJWrrsfxOVJifhJaigIr7LfLUNswPMWq/2nptkcj8PaLE6jSnGDaIDKwZD1DBEzsKU2F3tOTVNahN+9ACvg==","signatures":[{"sig":"MEQCICJeN5D9X/QjWx7Uh/LewCx+0iQhyxqeJuPyj3rTyWjpAiAUzNROhKnCjzS5bExFUDqkPf40gGQqcYBeXHA0oWJ3wg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fmg-context@0.8.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":556823},"main":"build/index.js","type":"module","_from":"file:tryghost-mg-context-0.8.2.tgz","types":"build/types.d.ts","exports":{".":{"source":"./src/index.ts","default":"./build/index.js"}},"scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura node --test 'build/test/**/*.test.js'","build":"tsc --build --sourceMap","posttest":"pnpm lint","test:local":"pnpm build && pnpm test","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:941c001a-169c-42c9-8e9c-965f7582bd78"}},"_resolved":"/home/runner/work/migrate/migrate/packages/mg-context/tryghost-mg-context-0.8.2.tgz","_integrity":"sha512-iKulJWrrsfxOVJifhJaigIr7LfLUNswPMWq/2nptkcj8PaLE6jSnGDaIDKwZD1DBEzsKU2F3tOTVNahN+9ACvg==","repository":{"url":"git+https://github.com/TryGhost/migrate.git","type":"git","directory":"packages/mg-context"},"_npmVersion":"11.13.0","description":"A SQLite-backed data store for building Ghost import files. Provides a validated, typed interface for posts, tags, and authors with batched iteration for large migrations.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"c8":"11.0.0","zod":"4.3.6","eslint":"8.57.1","typescript":"6.0.3","@tryghost/errors":"3.0.3","@tryghost/validator":"2.0.3","@typescript-eslint/parser":"8.59.0","@tryghost/html-to-mobiledoc":"3.2.21","@tryghost/kg-html-to-lexical":"1.2.38","@tryghost/listr-smart-renderer":"0.12.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"24.12.2"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.8.2_1777374529530_0.21811018497508194","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"@tryghost/mg-context","version":"0.8.3","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.8.3","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/migrate#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"894d8b21df1c50f6a9d25500c7a4244b5f124ceb","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.8.3.tgz","fileCount":54,"integrity":"sha512-91ZboE9F0Jbo97jL5MCLL3li3ppINXo2LCQld1kYDmnJxRZttjpuju6cp/BAxnbaWaDQXKO9FGCdAuKJn31y8A==","signatures":[{"sig":"MEUCIDx0QA8+o5+3ePJmkSsHhz/nCadnwrcWrC2CFGxb3QqeAiEA38ElA67V66bvcF1R3RHe7yt/4nWLa+LtBYCRnOwJwTk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fmg-context@0.8.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":556823},"main":"build/index.js","type":"module","_from":"file:tryghost-mg-context-0.8.3.tgz","types":"build/types.d.ts","exports":{".":{"source":"./src/index.ts","default":"./build/index.js"}},"scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura node --test 'build/test/**/*.test.js'","build":"tsc --build --sourceMap","posttest":"pnpm lint","test:local":"pnpm build && pnpm test","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:941c001a-169c-42c9-8e9c-965f7582bd78"}},"_resolved":"/home/runner/work/migrate/migrate/packages/mg-context/tryghost-mg-context-0.8.3.tgz","_integrity":"sha512-91ZboE9F0Jbo97jL5MCLL3li3ppINXo2LCQld1kYDmnJxRZttjpuju6cp/BAxnbaWaDQXKO9FGCdAuKJn31y8A==","repository":{"url":"git+https://github.com/TryGhost/migrate.git","type":"git","directory":"packages/mg-context"},"_npmVersion":"11.13.0","description":"A SQLite-backed data store for building Ghost import files. Provides a validated, typed interface for posts, tags, and authors with batched iteration for large migrations.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"c8":"11.0.0","zod":"4.3.6","eslint":"8.57.1","typescript":"6.0.3","@tryghost/errors":"3.0.3","@tryghost/validator":"2.0.3","@typescript-eslint/parser":"8.59.0","@tryghost/html-to-mobiledoc":"3.2.21","@tryghost/kg-html-to-lexical":"1.2.38","@tryghost/listr-smart-renderer":"0.12.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"24.12.2"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.8.3_1777383624317_0.4315816143281652","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@tryghost/mg-context","version":"0.9.0","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.9.0","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/migrate#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"57afb5cd2647b2d4df822714e2a904ac8276f007","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.9.0.tgz","fileCount":54,"integrity":"sha512-jA96CmOq5AJuaG8NxthJdYC1E03qg5GQq46lEs6WflhRA/lxplzRwg3ttQ++lsEt7lZb2TQkgSXHVFqgm6ltMQ==","signatures":[{"sig":"MEYCIQC8RDiWcgpbNhWtfsSEHP3vWIcASmHby1fTw/5PHIQ97AIhAL4oSbytxWcG8xMAD+w826c1yzbgUPM3BVmWPguYK5Q4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fmg-context@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":556823},"main":"build/index.js","type":"module","_from":"file:tryghost-mg-context-0.9.0.tgz","types":"build/types.d.ts","exports":{".":{"source":"./src/index.ts","default":"./build/index.js"}},"scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura node --test 'build/test/**/*.test.js'","build":"tsc --build --sourceMap","posttest":"pnpm lint","test:local":"pnpm build && pnpm test","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:941c001a-169c-42c9-8e9c-965f7582bd78"}},"_resolved":"/home/runner/work/migrate/migrate/packages/mg-context/tryghost-mg-context-0.9.0.tgz","_integrity":"sha512-jA96CmOq5AJuaG8NxthJdYC1E03qg5GQq46lEs6WflhRA/lxplzRwg3ttQ++lsEt7lZb2TQkgSXHVFqgm6ltMQ==","repository":{"url":"git+https://github.com/TryGhost/migrate.git","type":"git","directory":"packages/mg-context"},"_npmVersion":"11.14.0","description":"A SQLite-backed data store for building Ghost import files. Provides a validated, typed interface for posts, tags, and authors with batched iteration for large migrations.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"c8":"11.0.0","zod":"4.4.2","eslint":"8.57.1","typescript":"6.0.3","@tryghost/errors":"3.0.3","@tryghost/validator":"2.0.3","@typescript-eslint/parser":"8.59.1","@tryghost/html-to-mobiledoc":"3.2.21","@tryghost/kg-html-to-lexical":"1.2.38","@tryghost/listr-smart-renderer":"0.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"24.12.2"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.9.0_1778169286909_0.9455365144055494","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@tryghost/mg-context","version":"0.10.0","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.10.0","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/migrate#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"1074c5450e8f437221ed050373198d2f66cf4053","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.10.0.tgz","fileCount":54,"integrity":"sha512-XXozq/dUDBHcVdvJ5g8TwP4WLcTDx5CM7o6aO0YPv4BRxPWgZCAHlqjt+lCuOS2Ma8MxhbWZSWCYqsBUqZxADw==","signatures":[{"sig":"MEUCIHH78AvjqbT1Z1NA64lm6y4UAtsa+rrHWG2IqgFcxIA+AiEA0cjKxZHs0aT3hM0+ZHQH8Zh3UjkwlBDohbvHAVW+I8g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fmg-context@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":557265},"main":"build/index.js","type":"module","_from":"file:tryghost-mg-context-0.10.0.tgz","types":"build/types.d.ts","exports":{".":{"source":"./src/index.ts","default":"./build/index.js"}},"scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura node --test 'build/test/**/*.test.js'","build":"tsc --build --sourceMap","posttest":"pnpm lint","test:local":"pnpm build && pnpm test","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:941c001a-169c-42c9-8e9c-965f7582bd78"}},"_resolved":"/home/runner/work/migrate/migrate/packages/mg-context/tryghost-mg-context-0.10.0.tgz","_integrity":"sha512-XXozq/dUDBHcVdvJ5g8TwP4WLcTDx5CM7o6aO0YPv4BRxPWgZCAHlqjt+lCuOS2Ma8MxhbWZSWCYqsBUqZxADw==","repository":{"url":"git+https://github.com/TryGhost/migrate.git","type":"git","directory":"packages/mg-context"},"_npmVersion":"11.16.0","description":"A SQLite-backed data store for building Ghost import files. Provides a validated, typed interface for posts, tags, and authors with batched iteration for large migrations.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"c8":"11.0.0","zod":"4.4.3","eslint":"8.57.1","typescript":"6.0.3","@tryghost/errors":"3.0.3","@tryghost/validator":"3.1.1","@typescript-eslint/parser":"8.60.0","@tryghost/html-to-mobiledoc":"3.2.21","@tryghost/kg-html-to-lexical":"1.3.2","@tryghost/listr-smart-renderer":"0.14.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"24.12.4"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.10.0_1780573533250_0.1299277383972972","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@tryghost/mg-context","version":"0.11.0","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.11.0","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/migrate#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"0dc964f748d0f2a208014fb30464a08183edeaa4","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.11.0.tgz","fileCount":54,"integrity":"sha512-4c/fvkA8MXmvcGz6sRXG2wvBtPrLGPd/ZBYzEfFOhkQUfMKoGKSWaEIEFJ02qScbtCBx2E/LvpXl4ITfse8lUA==","signatures":[{"sig":"MEUCIQDbSyMawvEjfeW7oXFm43iQ2XryfjxpcnXInmstaiQCIQIgc1v/5m0fmyKGsqOoXtlCktpQ/NQgI2+YGtSzeu6fhPw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fmg-context@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":557265},"main":"build/index.js","type":"module","_from":"file:tryghost-mg-context-0.11.0.tgz","types":"build/types.d.ts","exports":{".":{"source":"./src/index.ts","default":"./build/index.js"}},"scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura node --test 'build/test/**/*.test.js'","build":"tsc --build --sourceMap","posttest":"pnpm lint","test:local":"pnpm build && pnpm test","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:941c001a-169c-42c9-8e9c-965f7582bd78"}},"_resolved":"/home/runner/work/migrate/migrate/packages/mg-context/tryghost-mg-context-0.11.0.tgz","_integrity":"sha512-4c/fvkA8MXmvcGz6sRXG2wvBtPrLGPd/ZBYzEfFOhkQUfMKoGKSWaEIEFJ02qScbtCBx2E/LvpXl4ITfse8lUA==","repository":{"url":"git+https://github.com/TryGhost/migrate.git","type":"git","directory":"packages/mg-context"},"_npmVersion":"11.17.0","description":"A SQLite-backed data store for building Ghost import files. Provides a validated, typed interface for posts, tags, and authors with batched iteration for large migrations.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"c8":"11.0.0","zod":"4.4.3","eslint":"8.57.1","typescript":"6.0.3","@tryghost/errors":"3.2.4","@tryghost/validator":"3.1.4","@typescript-eslint/parser":"8.61.0","@tryghost/html-to-mobiledoc":"3.2.21","@tryghost/kg-html-to-lexical":"1.3.2","@tryghost/listr-smart-renderer":"0.15.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"24.13.2"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.11.0_1781699561441_0.6774937590067569","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"@tryghost/mg-context","version":"0.11.1","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.11.1","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"zach1618","email":"zach@ghost.org"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/migrate#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"e60373789133a37554787657868b12cc7cb21484","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.11.1.tgz","fileCount":54,"integrity":"sha512-r7sT/BWn2+d8f7rO/2WqZOO2NylOkpy4klYmUMCOAHNpWBWW7ukZTlQIggU4NDuRf04PrnYt1Cq15mdyyhLLMQ==","signatures":[{"sig":"MEUCIBfmMSeG4Gtos0YfXpE+yjJjvo4d6fYgdhCjrX0RPz0CAiEA9HjougzbsjmqIJ2Np894UOND0Iv6GopjGLaAgQWxQrY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fmg-context@0.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":549828},"main":"build/index.js","type":"module","_from":"file:tryghost-mg-context-0.11.1.tgz","types":"build/types.d.ts","exports":{".":{"source":"./src/index.ts","default":"./build/index.js"}},"scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura node --test 'build/test/**/*.test.js'","build":"tsc --build --sourceMap","posttest":"pnpm lint","test:local":"pnpm build && pnpm test","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:941c001a-169c-42c9-8e9c-965f7582bd78"}},"_resolved":"/home/runner/work/migrate/migrate/packages/mg-context/tryghost-mg-context-0.11.1.tgz","_integrity":"sha512-r7sT/BWn2+d8f7rO/2WqZOO2NylOkpy4klYmUMCOAHNpWBWW7ukZTlQIggU4NDuRf04PrnYt1Cq15mdyyhLLMQ==","repository":{"url":"git+https://github.com/TryGhost/migrate.git","type":"git","directory":"packages/mg-context"},"_npmVersion":"11.18.0","description":"A SQLite-backed data store for building Ghost import files. Provides a validated, typed interface for posts, tags, and authors with batched iteration for large migrations.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"c8":"11.0.0","zod":"4.4.3","eslint":"8.57.1","typescript":"6.0.3","@tryghost/errors":"3.2.4","@tryghost/validator":"3.1.4","@typescript-eslint/parser":"8.61.0","@tryghost/kg-html-to-lexical":"1.3.2","@tryghost/listr-smart-renderer":"0.15.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"24.13.2"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.11.1_1782917013823_0.6494499742326669","host":"s3://npm-registry-packages-npm-production"}},"0.11.2":{"name":"@tryghost/mg-context","version":"0.11.2","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.11.2","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"zach1618","email":"zach@ghost.org"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/migrate#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"4761a0650c425a7551791a3496de216935f367f7","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.11.2.tgz","fileCount":54,"integrity":"sha512-jqjm4wCqi7PolMrYsuYyAjBu4aRAZOg28R5tb2pGQBWqOxTA8H6TSQ3LKIovTruB7EvwAm1pzRu17rGebBpnzg==","signatures":[{"sig":"MEQCIGaOcxBvF3dygGTHmt7EviXbHDN1hNvuFgBQyjy1hAl2AiAv/lhlDILpqhKxv3AmlK7SsoR9519n47RXEkjqOLo1wQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fmg-context@0.11.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":549828},"main":"build/index.js","type":"module","_from":"file:tryghost-mg-context-0.11.2.tgz","types":"build/types.d.ts","exports":{".":{"source":"./src/index.ts","default":"./build/index.js"}},"scripts":{"dev":"echo \"Implement me!\"","lint":"eslint src/ --ext .ts --cache","test":"c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura node --test 'build/test/**/*.test.js'","build":"tsc --build --sourceMap","posttest":"pnpm lint","test:local":"pnpm build && pnpm test","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:941c001a-169c-42c9-8e9c-965f7582bd78"}},"_resolved":"/home/runner/work/migrate/migrate/packages/mg-context/tryghost-mg-context-0.11.2.tgz","_integrity":"sha512-jqjm4wCqi7PolMrYsuYyAjBu4aRAZOg28R5tb2pGQBWqOxTA8H6TSQ3LKIovTruB7EvwAm1pzRu17rGebBpnzg==","repository":{"url":"git+https://github.com/TryGhost/migrate.git","type":"git","directory":"packages/mg-context"},"_npmVersion":"12.0.1","description":"A SQLite-backed data store for building Ghost import files. Provides a validated, typed interface for posts, tags, and authors with batched iteration for large migrations.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"c8":"11.0.0","zod":"4.4.3","eslint":"8.57.1","typescript":"6.0.3","@tryghost/errors":"3.2.4","@tryghost/validator":"3.1.4","@typescript-eslint/parser":"8.61.0","@tryghost/kg-html-to-lexical":"1.3.2","@tryghost/listr-smart-renderer":"0.15.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"24.13.2"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.11.2_1784111094200_0.005214575034115043","host":"s3://npm-registry-packages-npm-production"}},"0.11.3":{"name":"@tryghost/mg-context","version":"0.11.3","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.11.3","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"zach1618","email":"zach@ghost.org"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"austin.burdine","email":"austin@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/migrate#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"4958087cde07851e24a1734c20bf030e152bcbfd","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.11.3.tgz","fileCount":54,"integrity":"sha512-BxgZIkjr5Z35kmC5eh46m8oNbPE5NnGVE78xNvfY1307Bn9j79yPn3GdIqMozjoCG1vR02A9kHzx60GGtoWjbA==","signatures":[{"sig":"MEUCIQDsSclbP8FT7m5foVPdr+k68uRwFpqa48uiAdBCamc8/gIgU62HK5hIJCw192fxzwIkT61zL0Hz8LmCshr1urApZhI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fmg-context@0.11.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":551242},"main":"build/index.js","type":"module","_from":"file:tryghost-mg-context-0.11.3.tgz","types":"build/types.d.ts","exports":{".":{"source":"./src/index.ts","default":"./build/index.js"}},"scripts":{"dev":"echo \"Implement me!\"","test":"c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura node --test 'build/test/**/*.test.js'","build":"tsc --build --sourceMap","test:local":"pnpm build && pnpm test","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:941c001a-169c-42c9-8e9c-965f7582bd78"}},"_resolved":"/home/runner/work/migrate/migrate/packages/mg-context/tryghost-mg-context-0.11.3.tgz","_integrity":"sha512-BxgZIkjr5Z35kmC5eh46m8oNbPE5NnGVE78xNvfY1307Bn9j79yPn3GdIqMozjoCG1vR02A9kHzx60GGtoWjbA==","repository":{"url":"git+https://github.com/TryGhost/migrate.git","type":"git","directory":"packages/mg-context"},"_npmVersion":"12.0.2","description":"A SQLite-backed data store for building Ghost import files. Provides a validated, typed interface for posts, tags, and authors with batched iteration for large migrations.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"c8":"11.0.0","zod":"4.4.3","typescript":"6.0.3","@tryghost/errors":"3.2.4","@tryghost/validator":"3.1.4","@tryghost/kg-html-to-lexical":"1.3.2","@tryghost/listr-smart-renderer":"0.15.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"24.13.2"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.11.3_1785843458497_0.2846686522114614","host":"s3://npm-registry-packages-npm-production"}},"0.11.4":{"name":"@tryghost/mg-context","version":"0.11.4","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.11.4","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"zach1618","email":"zach@ghost.org"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"austin.burdine","email":"austin@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/migrate#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"c487e86452f346ccfe4a95d712c240ca11b2b268","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.11.4.tgz","fileCount":54,"integrity":"sha512-BMjZDw+ygoo8vf436PMcjNvKXCIMT8QOhTDdwHAE8w/JV5AQ5F2hjkaqiYs4VsjNEnyGTowclXKqYFEQz6lFyA==","signatures":[{"sig":"MEUCICdLeXQekf0xpcMfjaj0NZ1gODW/FEXXL8fzbvVWgFJOAiEAjqnLyyZwJebFECSy55sxTfh7aC/S1BvySYP02gyZxLY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fmg-context@0.11.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":612057},"main":"build/index.js","type":"module","_from":"file:tryghost-mg-context-0.11.4.tgz","types":"build/types.d.ts","exports":{".":{"source":"./src/index.ts","default":"./build/index.js"}},"scripts":{"dev":"echo \"Implement me!\"","test":"c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura node --test 'build/test/**/*.test.js'","build":"tsc --build --sourceMap","test:local":"pnpm build && pnpm test","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:941c001a-169c-42c9-8e9c-965f7582bd78"}},"_resolved":"/home/runner/work/migrate/migrate/packages/mg-context/tryghost-mg-context-0.11.4.tgz","_integrity":"sha512-BMjZDw+ygoo8vf436PMcjNvKXCIMT8QOhTDdwHAE8w/JV5AQ5F2hjkaqiYs4VsjNEnyGTowclXKqYFEQz6lFyA==","repository":{"url":"git+https://github.com/TryGhost/migrate.git","type":"git","directory":"packages/mg-context"},"_npmVersion":"12.0.2","description":"A SQLite-backed data store for building Ghost import files. Provides a validated, typed interface for posts, tags, and authors with batched iteration for large migrations.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"c8":"11.0.0","zod":"4.4.3","typescript":"6.0.3","@tryghost/errors":"3.2.4","@tryghost/string":"0.3.5","@tryghost/validator":"3.1.4","@tryghost/kg-html-to-lexical":"1.3.2","@tryghost/listr-smart-renderer":"0.15.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"24.13.2"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.11.4_1785860358747_0.9485578940916572","host":"s3://npm-registry-packages-npm-production"}},"0.11.5":{"name":"@tryghost/mg-context","version":"0.11.5","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.11.5","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"zach1618","email":"zach@ghost.org"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"austin.burdine","email":"austin@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/migrate#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"e31098cfeef080d481f01ca7c2710fa4ca62b8c0","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.11.5.tgz","fileCount":54,"integrity":"sha512-vYbenk6RyNP3+ay4rWcALMKjdKTh2BFhBIEpgNKVbBIGhzvKVe7WdR6mhkk0mh9qbRrN1pyz2mZUg2nHinS2PA==","signatures":[{"sig":"MEUCIGaMBNiWMblJFmoVrn0izeAp7b9AnyGuFpX5LCf1MjG5AiEAiL/X1EiUpcbvj+FkSmFvR4jDxW9NVy04ZAfLKd7HIZo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fmg-context@0.11.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":618075},"main":"build/index.js","type":"module","_from":"file:tryghost-mg-context-0.11.5.tgz","types":"build/types.d.ts","exports":{".":{"source":"./src/index.ts","default":"./build/index.js"}},"scripts":{"dev":"echo \"Implement me!\"","test":"c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura node --test 'build/test/**/*.test.js'","build":"tsc --build --sourceMap","test:local":"pnpm build && pnpm test","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:941c001a-169c-42c9-8e9c-965f7582bd78"}},"_resolved":"/home/runner/work/migrate/migrate/packages/mg-context/tryghost-mg-context-0.11.5.tgz","_integrity":"sha512-vYbenk6RyNP3+ay4rWcALMKjdKTh2BFhBIEpgNKVbBIGhzvKVe7WdR6mhkk0mh9qbRrN1pyz2mZUg2nHinS2PA==","repository":{"url":"git+https://github.com/TryGhost/migrate.git","type":"git","directory":"packages/mg-context"},"_npmVersion":"12.0.2","description":"A SQLite-backed data store for building Ghost import files. Provides a validated, typed interface for posts, tags, and authors with batched iteration for large migrations.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"c8":"11.0.0","zod":"4.4.3","typescript":"6.0.3","@tryghost/errors":"3.3.6","@tryghost/string":"0.3.5","@tryghost/validator":"3.2.6","@tryghost/kg-html-to-lexical":"1.3.2","@tryghost/listr-smart-renderer":"0.15.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"24.13.2"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.11.5_1785939882491_0.7650757199177272","host":"s3://npm-registry-packages-npm-production"}},"0.11.6":{"name":"@tryghost/mg-context","version":"0.11.6","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.11.6","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"zach1618","email":"zach@ghost.org"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"austin.burdine","email":"austin@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/migrate#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"4f442064a24004c2ce29b823381be7b32a79e831","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.11.6.tgz","fileCount":54,"integrity":"sha512-jMUs+R/GupFrMOlDm5a/89OxSG6SDlPRGwoBpMqZrN0nwVCo3MOxbw/dy4rMOjTs7oXTbrpxEqPnABlnnuu/Uw==","signatures":[{"sig":"MEQCICYc57gjce8KQ9DUcU10swbyrhlfzZmp3jwZ30PG7GazAiAZ06HYFELcXZd8G1Yon8FcsqrOrflvssyqzY1J0iAQLg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fmg-context@0.11.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":617585},"main":"build/index.js","type":"module","_from":"file:tryghost-mg-context-0.11.6.tgz","types":"build/types.d.ts","exports":{".":{"source":"./src/index.ts","default":"./build/index.js"}},"scripts":{"dev":"echo \"Implement me!\"","test":"c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura node --test 'build/test/**/*.test.js'","build":"tsc --build --sourceMap","test:local":"pnpm build && pnpm test","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:941c001a-169c-42c9-8e9c-965f7582bd78"}},"_resolved":"/home/runner/work/migrate/migrate/packages/mg-context/tryghost-mg-context-0.11.6.tgz","_integrity":"sha512-jMUs+R/GupFrMOlDm5a/89OxSG6SDlPRGwoBpMqZrN0nwVCo3MOxbw/dy4rMOjTs7oXTbrpxEqPnABlnnuu/Uw==","repository":{"url":"git+https://github.com/TryGhost/migrate.git","type":"git","directory":"packages/mg-context"},"_npmVersion":"12.0.2","description":"A SQLite-backed data store for building Ghost import files. Provides a validated, typed interface for posts, tags, and authors with batched iteration for large migrations.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"c8":"12.0.0","zod":"4.4.3","typescript":"6.0.3","@tryghost/errors":"3.3.6","@tryghost/string":"0.3.5","@tryghost/validator":"3.2.6","@tryghost/mg-html-lexical":"0.10.4","@tryghost/listr-smart-renderer":"0.15.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"24.13.2"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.11.6_1786554014133_0.12562692561709254","host":"s3://npm-registry-packages-npm-production"}},"0.11.7":{"name":"@tryghost/mg-context","version":"0.11.7","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/mg-context@0.11.7","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"zach1618","email":"zach@ghost.org"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"austin.burdine","email":"austin@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/migrate#readme","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"dist":{"shasum":"56f2a53928dea1fa58cc7bf6c38538238dc4b97a","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.11.7.tgz","fileCount":54,"integrity":"sha512-YeA/8jAedxrSveWmMP7VtivXMR+NFshaMFtkKGsVyBxGD5d62vBo1PmTySY0xap7558/HPVSDqwUZDBTrC5nzw==","signatures":[{"sig":"MEYCIQCyHb9IcA4ha5WwtFQsUcUewrzQ7eH9IW2H1KvLbvrsagIhAMPZdV1x/nlndWzVFRmI+jSKRCgW9SZW42wIy9ke8C82","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fmg-context@0.11.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":617590},"main":"build/index.js","type":"module","_from":"file:tryghost-mg-context-0.11.7.tgz","types":"./build/index.d.ts","exports":{".":{"types":"./build/index.d.ts","default":"./build/index.js"}},"scripts":{"dev":"echo \"Implement me!\"","test":"c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura node --test 'build/test/**/*.test.js'","build":"tsc --build --sourceMap","test:local":"pnpm build && pnpm test","build:watch":"tsc --watch --preserveWatchOutput --sourceMap"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:941c001a-169c-42c9-8e9c-965f7582bd78"}},"_resolved":"/home/runner/work/migrate/migrate/packages/mg-context/tryghost-mg-context-0.11.7.tgz","_integrity":"sha512-YeA/8jAedxrSveWmMP7VtivXMR+NFshaMFtkKGsVyBxGD5d62vBo1PmTySY0xap7558/HPVSDqwUZDBTrC5nzw==","repository":{"url":"git+https://github.com/TryGhost/migrate.git","type":"git","directory":"packages/mg-context"},"_npmVersion":"12.0.2","description":"A SQLite-backed data store for building Ghost import files. Provides a validated, typed interface for posts, tags, and authors with batched iteration for large migrations.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"c8":"12.0.0","zod":"4.4.3","typescript":"6.0.3","@tryghost/errors":"3.3.6","@tryghost/string":"0.3.5","@tryghost/validator":"3.2.6","@tryghost/mg-html-lexical":"0.10.5","@tryghost/listr-smart-renderer":"0.15.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"24.13.2"},"_npmOperationalInternal":{"tmp":"tmp/mg-context_0.11.7_1787162542550_0.8254691473075646","host":"s3://npm-registry-packages-npm-production"}},"0.11.8":{"name":"@tryghost/mg-context","version":"0.11.8","repository":{"type":"git","url":"git+https://github.com/TryGhost/migrate.git","directory":"packages/mg-context"},"author":{"name":"Ghost Foundation"},"license":"MIT","type":"module","main":"build/index.js","types":"./build/index.d.ts","exports":{".":{"types":"./build/index.d.ts","default":"./build/index.js"}},"publishConfig":{"access":"public"},"devDependencies":{"@types/node":"24.13.2"},"dependencies":{"@tryghost/errors":"3.3.6","@tryghost/string":"0.3.5","@tryghost/validator":"3.2.6","c8":"12.0.0","typescript":"6.0.3","zod":"4.4.3","@tryghost/listr-smart-renderer":"0.15.6","@tryghost/mg-html-lexical":"0.10.6"},"scripts":{"dev":"echo \"Implement me!\"","build:watch":"tsc --watch --preserveWatchOutput --sourceMap","build":"tsc --build --sourceMap","test":"c8 --src src --all --check-coverage --100 --reporter text --reporter cobertura node --test 'build/test/**/*.test.js'","test:local":"pnpm build && pnpm test"},"_id":"@tryghost/mg-context@0.11.8","description":"A SQLite-backed data store for building Ghost import files. Provides a validated, typed interface for posts, tags, and authors with batched iteration for large migrations.","bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"homepage":"https://github.com/TryGhost/migrate#readme","_integrity":"sha512-pGrWIJIDU0O03WW54JxZG2olr1xlgfThWxeLzB5Yx7FtVFm19Pe6KHVsKBP5gF18weo0sd/ac/Gbjbw5jzVadw==","_resolved":"/home/runner/work/migrate/migrate/packages/mg-context/tryghost-mg-context-0.11.8.tgz","_from":"file:tryghost-mg-context-0.11.8.tgz","_nodeVersion":"24.19.0","_npmVersion":"12.0.2","dist":{"integrity":"sha512-pGrWIJIDU0O03WW54JxZG2olr1xlgfThWxeLzB5Yx7FtVFm19Pe6KHVsKBP5gF18weo0sd/ac/Gbjbw5jzVadw==","shasum":"9cdb3970b4e510f7e7410f6d3baa5e558f4cd117","tarball":"https://registry.npmjs.org/@tryghost/mg-context/-/mg-context-0.11.8.tgz","fileCount":54,"unpackedSize":617590,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fmg-context@0.11.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDcAgNtglbxh24P4EvAx3WFZtyAsncV3H4b5y2Od3E/YwIgGfNO9EYJIWnlKwos4KkAYLUjefDxpzvAOUFqdv9tnVI="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:941c001a-169c-42c9-8e9c-965f7582bd78"}},"directories":{},"maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"zach1618","email":"zach@ghost.org"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"austin.burdine","email":"austin@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mg-context_0.11.8_1787571243361_0.335357357267559"},"_hasShrinkwrap":false}},"time":{"created":"2024-01-02T17:24:31.780Z","modified":"2026-08-24T11:34:04.345Z","0.1.0-alpha.0":"2024-01-02T17:24:32.165Z","0.1.0":"2024-01-15T12:52:46.866Z","0.1.1":"2024-01-27T12:10:11.157Z","0.1.2":"2024-02-08T12:26:52.296Z","0.1.3":"2024-03-06T16:55:48.313Z","0.1.4":"2024-04-23T10:40:09.727Z","0.1.5":"2024-06-03T13:15:26.743Z","0.1.6":"2024-07-29T13:47:06.212Z","0.1.7":"2024-08-27T14:03:26.124Z","0.1.8":"2024-09-23T11:34:26.222Z","0.1.9":"2024-10-16T10:53:59.489Z","0.1.10":"2025-01-08T15:10:39.225Z","0.1.11":"2025-01-21T11:46:46.632Z","0.1.12":"2025-02-07T10:53:46.078Z","0.1.13":"2025-02-11T12:40:24.112Z","0.1.14":"2025-02-19T17:01:55.728Z","0.1.15":"2025-02-25T14:28:54.030Z","0.1.16":"2025-03-10T09:47:46.563Z","0.1.17":"2025-03-24T16:55:04.701Z","0.1.18":"2025-04-18T18:39:27.300Z","0.1.19":"2025-07-01T11:31:12.018Z","0.1.20":"2025-08-02T10:20:57.680Z","0.1.21":"2025-08-07T18:51:39.416Z","0.1.22":"2025-08-25T10:33:41.475Z","0.1.23":"2025-11-26T11:40:48.432Z","0.1.24":"2026-01-22T21:39:06.972Z","0.1.25":"2026-02-20T18:42:28.608Z","0.1.26":"2026-03-11T12:17:15.748Z","0.1.27":"2026-03-24T11:49:27.173Z","0.2.0":"2026-03-31T16:47:15.759Z","0.3.0":"2026-04-04T20:34:11.944Z","0.4.0":"2026-04-05T19:07:18.675Z","0.5.0":"2026-04-06T10:02:10.700Z","0.6.0":"2026-04-10T15:08:41.548Z","0.7.0":"2026-04-16T08:38:23.177Z","0.8.0":"2026-04-20T11:27:34.873Z","0.8.1":"2026-04-24T08:09:18.662Z","0.8.2":"2026-04-28T11:08:49.693Z","0.8.3":"2026-04-28T13:40:24.473Z","0.9.0":"2026-05-07T15:54:47.066Z","0.10.0":"2026-06-04T11:45:33.388Z","0.11.0":"2026-06-17T12:32:41.584Z","0.11.1":"2026-07-01T14:43:33.968Z","0.11.2":"2026-07-15T10:24:54.339Z","0.11.3":"2026-08-04T11:37:38.651Z","0.11.4":"2026-08-04T16:19:18.879Z","0.11.5":"2026-08-05T14:24:42.648Z","0.11.6":"2026-08-12T17:00:14.277Z","0.11.7":"2026-08-19T18:02:22.733Z","0.11.8":"2026-08-24T11:34:03.730Z"},"bugs":{"url":"https://github.com/TryGhost/migrate/issues"},"author":{"name":"Ghost Foundation"},"license":"MIT","homepage":"https://github.com/TryGhost/migrate#readme","repository":{"type":"git","url":"git+https://github.com/TryGhost/migrate.git","directory":"packages/mg-context"},"description":"A SQLite-backed data store for building Ghost import files. Provides a validated, typed interface for posts, tags, and authors with batched iteration for large migrations.","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"zach1618","email":"zach@ghost.org"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"austin.burdine","email":"austin@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"readme":"# Migrate Context\n\nA SQLite-backed data store for building Ghost import files. Provides a validated, typed interface for posts, tags, and authors with batched iteration for large migrations.\n\nData is persisted to SQLite (in-memory by default), so migrations with tens of thousands of posts don't require excessive memory. Content is validated against Ghost's schema on write, and HTML is converted to Lexical during an explicit preparation step before export.\n\n## Install\n\n```bash\nnpm install @tryghost/mg-context --save\n# or\npnpm add @tryghost/mg-context\n```\n\n## Quick start\n\n```js\nimport {MigrateContext} from '@tryghost/mg-context';\n\nconst context = new MigrateContext();\nawait context.init();\n\n// Add a few posts\nfor (let i = 1; i <= 3; i++) {\n    const post = await context.addPost();\n    post.set('title', `Post ${i}`);\n    post.set('slug', `post-${i}`);\n    post.set('status', 'published');\n    post.set('created_at', new Date(`2025-01-${10 + i}T10:00:00Z`));\n    post.set('html', '<p>Hello world</p>');\n    post.addTag({name: 'News', slug: 'news'});\n    post.addAuthor({name: 'Alice', slug: 'alice', email: 'alice@example.com'});\n    await post.save(context.db);\n}\n\n// Update every post — find-replace content and add a tag\nawait context.forEachPost(async (post) => {\n    const html = post.get('html');\n    post.set('html', html.replace('Hello world', 'Lorem ipsum'));\n    post.addTag({name: 'Updated', slug: 'updated'});\n});\n\n// Prepare for export (deduplicate slugs, convert HTML to Lexical)\nawait context.prepareForExport();\n\nawait context.writeGhostJson('./output/');\nawait context.close();\n```\n\nSee the [examples/](examples/) directory for complete runnable scripts, including bulk generation and iteration patterns.\n\n## Architecture\n\n```\nMigrateContext\n └─ PostContext\n     ├─ TagContext\n     └─ AuthorContext\n```\n\n`MigrateContext` manages the database and provides methods for adding, finding, iterating, and exporting posts. Each post holds references to its tags and authors. All data is stored in SQLite with JSON columns for flexible schema storage and indexed columns for fast lookups.\n\n---\n\n# API Reference\n\n## MigrateContext\n\nThe top-level class that manages the database and all entity operations.\n\n### Constructor\n\n```js\nnew MigrateContext(options?)\n```\n\n| Option                     | Type                                 | Default             | Description                                  |\n|----------------------------|--------------------------------------|---------------------|----------------------------------------------|\n| `contentFormat`            | `'lexical' \\| 'html'`                | `'lexical'`         | Target format for HTML conversion on export  |\n| `dbPath`                   | `string`                             | —                   | Path to a SQLite file for persistent storage |\n| `ephemeral`                | `boolean`                            | `true` if no dbPath | Use in-memory database                       |\n| `emitEvents`               | `boolean`                            | `true`              | Emit progress events (see [Events](#events)) |\n| `warnOnLookupKeyDuplicate` | `boolean`                            | `false`             | Log when a duplicate lookupKey is skipped    |\n\n```js\n// In-memory (default)\nconst ctx = new MigrateContext();\n\n// Persistent file-based\nconst ctx = new MigrateContext({dbPath: './migration.sqlite'});\n\n// Server mode — disable events for zero overhead\nconst ctx = new MigrateContext({emitEvents: false});\n```\n\n### Lifecycle\n\n#### `init(): Promise<void>`\n\nInitialize the database. Must be called before any other operations. Throws if called twice without `close()` in between.\n\n#### `close(): Promise<void>`\n\nClose the database connection. Always call this when done, ideally in a `finally` block.\n\n```js\nconst ctx = new MigrateContext();\nawait ctx.init();\ntry {\n    // ... work\n} finally {\n    await ctx.close();\n}\n```\n\n#### `db: DatabaseModels`\n\nAccess the underlying database models. Needed for `post.save(ctx.db)`.\n\n### Adding posts\n\n#### `addPost(options?): Promise<PostContext>`\n\nCreate a new post. Returns an unsaved `PostContext` — call `post.save(ctx.db)` to persist.\n\n```js\n// Empty post\nconst post = await ctx.addPost();\n\n// With a lookup key for deduplication\nconst post = await ctx.addPost({lookupKey: 'https://example.com/original-url'});\n\n// With source metadata (preserved but not exported)\nconst post = await ctx.addPost({source: {originalId: 123}});\n```\n\nWhen called with a `PostContext` instance, saves it immediately instead.\n\n#### `addPost(postContext): Promise<PostContext>`\n\n```js\nconst post = new PostContext({contentFormat: 'html'});\npost.set('title', 'Pre-built');\npost.set('slug', 'pre-built');\npost.set('created_at', new Date());\nawait ctx.addPost(post); // saves immediately\n```\n\n### Transactions\n\n#### `transaction(callback): Promise<T>`\n\nWrap operations in a database transaction. Significantly improves write performance for bulk inserts.\n\n```js\nawait ctx.transaction(async () => {\n    for (const row of data) {\n        const post = await ctx.addPost();\n        post.set('title', row.title);\n        // ...\n        await post.save(ctx.db);\n    }\n});\n```\n\n### Links\n\nMigrateContext stores URL mappings for link fixing — old URLs that should be rewritten to new relative Ghost paths. Links are stored in a dedicated `Links` table with an indexed lookup column.\n\n#### `addLink(oldUrl, newUrl): void`\n\nStore a URL mapping. Keys should be cleaned URLs (`host/path`, no protocol or query params) to match how LinkFixer normalizes hrefs. Duplicate `oldUrl` entries are silently ignored (first write wins).\n\n```js\nctx.addLink('example.com/my-post/', '/my-post/');\nctx.addLink('example.com/tag/news/', '/tag/news/');\nctx.addLink('example.com/author/alice/', '/author/alice/');\n```\n\nFor multi-domain support, store an entry for each domain:\n\n```js\nconst hosts = ['example.com', 'olddomain.com'];\nfor (const host of hosts) {\n    ctx.addLink(`${host}/my-post/`, '/my-post/');\n}\n```\n\n#### `findLink(oldUrl): string | null`\n\nLook up a single URL mapping. Returns the new URL or `null` if no match. This is an indexed lookup — fast enough to call per-link within a single post's content.\n\n```js\nctx.findLink('example.com/my-post/');    // '/my-post/'\nctx.findLink('example.com/unknown/');    // null\n```\n\nDesigned to be used as a lookup function with [mg-linkfixer](../mg-linkfixer)'s `fixPost`:\n\n```js\nimport LinkFixer from '@tryghost/mg-linkfixer';\n\nconst linkFixer = new LinkFixer();\nconst lookup = (url) => ctx.findLink(url);\n\nawait ctx.forEachPost(async (post) => {\n    await linkFixer.fixPost(post, lookup);\n});\n```\n\n### Finding entities\n\n#### `findPosts(options): Promise<PostContext[] | null>`\n\nFind posts by various criteria. Only one criterion is used at a time (first match wins).\n\n| Option        | Type           | Description                                      |\n|---------------|----------------|--------------------------------------------------|\n| `slug`        | `string`       | Match post slug                                  |\n| `title`       | `string`       | Match post title                                 |\n| `sourceAttr`  | `{key, value}` | Match a key/value pair in the post's source data |\n| `tagSlug`     | `string`       | Find posts with this tag slug                    |\n| `tagName`     | `string`       | Find posts with this tag name                    |\n| `authorSlug`  | `string`       | Find posts by this author slug                   |\n| `authorName`  | `string`       | Find posts by this author name                   |\n| `authorEmail` | `string`       | Find posts by this author email                  |\n\n```js\nconst posts = await ctx.findPosts({tagSlug: 'news'});\nconst posts = await ctx.findPosts({authorEmail: 'alice@example.com'});\nconst posts = await ctx.findPosts({sourceAttr: {key: 'url', value: 'https://example.com/post'}});\n```\n\n#### `findTags(options): Promise<TagContext[] | null>`\n\nFind tags by `slug` or `name`.\n\n#### `findAuthors(options): Promise<AuthorContext[] | null>`\n\nFind authors by `slug`, `name`, or `email`.\n\n#### `getAllPosts(): Promise<PostContext[]>`\n\nLoad all posts. Use `forEachPost` for large datasets to avoid loading everything into memory.\n\n### Iterating\n\n#### `forEachPost(callback, options?): Promise<void>`\n\nIterate all posts in batches. Each post is automatically saved after the callback.\n\n```js\nawait ctx.forEachPost(async (post) => {\n    post.set('status', 'published');\n    // post is saved automatically after callback\n}, {batchSize: 200});\n```\n\n#### `forEachTag(callback, options?): Promise<void>`\n\nIterate all tags that are referenced by at least one post, in batches. Each tag is automatically saved after the callback.\n\n```js\nawait ctx.forEachTag(async (tag) => {\n    tag.set('description', `Articles about ${tag.data.name}`);\n});\n```\n\n| Option      | Type     | Default | Description            |\n|-------------|----------|---------|------------------------|\n| `batchSize` | `number` | `100`   | Tags loaded per batch |\n\n#### `forEachAuthor(callback, options?): Promise<void>`\n\nIterate all authors that are referenced by at least one post, in batches. Each author is automatically saved after the callback.\n\n```js\nawait ctx.forEachAuthor(async (author) => {\n    author.set('bio', 'Updated bio');\n});\n```\n\n| Option      | Type     | Default | Description              |\n|-------------|----------|---------|--------------------------|\n| `batchSize` | `number` | `100`   | Authors loaded per batch |\n\n#### `forEachGhostPost(callback, options?): Promise<void>`\n\nIterate posts as processed Ghost JSON with tags and authors inlined. Read-only — mutations are not saved.\n\n```js\nawait ctx.forEachGhostPost(async (json, post) => {\n    // json: { id, title, slug, tags: [...], authors: [...], ... }\n    await ghostApi.posts.add(json);\n}, {batchSize: 50});\n```\n\n#### `streamPosts(options?): AsyncGenerator<PostContext>`\n\nAsync generator that yields posts one at a time. Unlike `forEachPost`, posts are not auto-saved — you control when to persist changes. Ideal for feeding posts into a concurrent task queue.\n\n```js\nfor await (const post of ctx.streamPosts({batchSize: 200})) {\n    const html = post.get('html');\n    post.set('html', html.toUpperCase());\n    post.save(ctx.db);\n}\n```\n\nOr with a task queue:\n\n```js\nasync function* postTasks() {\n    for await (const post of ctx.streamPosts()) {\n        yield {\n            title: post.get('slug'),\n            task: async () => {\n                // process post concurrently\n                post.set('html', transform(post.get('html')));\n                post.save(ctx.db);\n            }\n        };\n    }\n}\n\nawait queue.run(postTasks());\n```\n\n#### `streamTags(options?): AsyncGenerator<TagContext>`\n\nAsync generator that yields tags referenced by at least one post. Tags are not auto-saved.\n\n```js\nfor await (const tag of ctx.streamTags()) {\n    console.log(tag.data.slug, tag.data.name);\n}\n```\n\n#### `streamAuthors(options?): AsyncGenerator<AuthorContext>`\n\nAsync generator that yields authors referenced by at least one post. Authors are not auto-saved.\n\n```js\nfor await (const author of ctx.streamAuthors()) {\n    console.log(author.data.slug, author.data.name);\n}\n```\n\n#### Iteration options\n\n| Option      | Type         | Default | Description                                   |\n|-------------|--------------|---------|-----------------------------------------------|\n| `batchSize` | `number`     | `100`   | Posts loaded per batch                        |\n| `filter`    | `PostFilter` | —       | Filter criteria (see [Filtering](#filtering)) |\n\nProgress is reported via the `progress` event (see [Events](#events)).\n\n### Exporting\n\n#### `prepareForExport(options?): Promise<void>`\n\nPrepare all posts for export. Must be called before `writeGhostJson()` or `forEachGhostPost()`. This:\n\n1. Deduplicates slugs (calls `deduplicateSlugs()` internally)\n2. Converts HTML to Lexical for all posts that need it\n\nThe method is idempotent — posts that already have converted content are skipped. Call it again after modifying posts via `forEachPost()` to re-convert changed content.\n\n| Option      | Type     | Default | Description               |\n|-------------|----------|---------|---------------------------|\n| `batchSize` | `number` | `200`   | Posts processed per batch |\n\n```js\nawait ctx.prepareForExport();\n```\n\n#### `writeGhostJson(outputDir, options?): Promise<WrittenFile[]>`\n\nWrite posts, tags, authors, and junction tables to Ghost JSON files.\n\n| Option      | Type                          | Default   | Description                         |\n|-------------|-------------------------------|-----------|-------------------------------------|\n| `batchSize` | `number`                      | `5000`    | Posts per output file               |\n| `filename`  | `string`                      | `'posts'` | Base filename (without `.json`)     |\n| `filter`    | `PostFilter`                  | —         | Filter criteria                     |\n| `onWrite`   | `(file: WrittenFile) => void` | —         | Callback after each file is written |\n\nReturns an array of `WrittenFile` objects:\n\n| Field   | Type     | Description                    |\n|---------|----------|--------------------------------|\n| `path`  | `string` | Absolute path to the file      |\n| `name`  | `string` | Filename (e.g. `posts-1.json`) |\n| `size`  | `number` | File size in bytes             |\n| `posts` | `number` | Number of posts in this file   |\n\n```js\nconst files = await ctx.writeGhostJson('./output/', {\n    filename: 'export',\n    batchSize: 2000,\n    onWrite(f) {\n        console.log(`Wrote ${f.name} (${f.posts} posts)`);\n    }\n});\n```\n\n#### `writeGhostTagsJson(outputDir, options?): Promise<WrittenFile>`\n\nExport tags as a standalone JSON file. Only tags referenced by at least one post are included.\n\n#### `writeGhostUsersJson(outputDir, options?): Promise<WrittenFile>`\n\nExport authors/users as a standalone JSON file. Only authors referenced by at least one post are included.\n\n```js\nawait ctx.writeGhostTagsJson('./output/', {filename: 'my-tags'});\nawait ctx.writeGhostUsersJson('./output/', {filename: 'my-users'});\n```\n\n### Filtering\n\nAll iteration and export methods accept a `filter` option. Criteria combine with AND logic.\n\n```js\nawait ctx.forEachPost(async (post) => { /* ... */ }, {\n    filter: {\n        tag: {slug: 'news'},\n        createdAt: {onOrAfter: new Date('2025-01-01')}\n    }\n});\n```\n\n| Filter                                                      | Type     | Description                |\n|-------------------------------------------------------------|----------|----------------------------|\n| `tag.slug`                                                  | `string` | Posts with this tag slug   |\n| `tag.name`                                                  | `string` | Posts with this tag name   |\n| `author.slug`                                               | `string` | Posts by this author slug  |\n| `author.name`                                               | `string` | Posts by this author name  |\n| `author.email`                                              | `string` | Posts by this author email |\n| `createdAt.before` / `after` / `onOrBefore` / `onOrAfter`   | `Date`   | Filter by `created_at`     |\n| `publishedAt.before` / `after` / `onOrBefore` / `onOrAfter` | `Date`   | Filter by `published_at`   |\n\nPosts with `null` `published_at` (drafts) are excluded by a `publishedAt` filter.\n\n### Events\n\nMigrateContext emits events via `on`/`off`, powered by `node:events`. This lets you set up a single listener for progress across all operations instead of passing callbacks to each method.\n\n#### `on(event, listener): this`\n\nRegister an event listener. Returns `this` for chaining.\n\n#### `off(event, listener): this`\n\nRemove an event listener.\n\n#### `progress` event\n\nEmitted after each batch during `prepareForExport()`, `forEachPost()`, `forEachGhostPost()`, `streamPosts()`, `streamTags()`, and `streamAuthors()`.\n\n```js\nctx.on('progress', (event, processed, total) => {\n    console.log(`[${event}] ${processed}/${total}`);\n});\n```\n\n| Argument    | Type     | Description                                                  |\n|-------------|----------|--------------------------------------------------------------|\n| `event`     | `string` | Operation name: `prepareForExport`, `forEachPost`, `forEachGhostPost`, `streamPosts`, `streamTags`, or `streamAuthors` |\n| `processed` | `number` | Posts processed so far                                       |\n| `total`     | `number` | Total posts to process                                       |\n\nEvents can be disabled entirely at construction with `emitEvents: false` for server environments where the overhead is unwanted:\n\n```js\nconst ctx = new MigrateContext({emitEvents: false});\n```\n\n---\n\n## PostContext\n\nRepresents a single post with validated properties, tag/author relationships, and source metadata.\n\n### Properties\n\n#### `post.get(prop): any`\n\nGet a property value.\n\n#### `post.set(prop, value): PostContext`\n\nSet a property value. Validates against the schema (type, max length, allowed values). Returns `this` for chaining.\n\nSetting `html` invalidates cached `lexical` — call `prepareForExport()` again to re-convert.\n\n#### `post.remove(prop): PostContext`\n\nReset a property to its default value (or `null`).\n\n#### `post.save(db): void`\n\nPersist the post and its tag/author relationships to the database.\n\n### Post fields\n\n| Field                   | Type      | Max   | Default    | Notes                                     |\n|-------------------------|-----------|-------|------------|-------------------------------------------|\n| `title`                 | `string`  | 255   | —          | **Required**                              |\n| `slug`                  | `string`  | 191   | —          | **Required**                              |\n| `html`                  | `string?` | —     | `null`     | Source HTML content                       |\n| `lexical`               | `string?` | —     | `null`     | Auto-generated on export                  |\n| `mobiledoc`             | `string?` | —     | `null`     | Legacy Ghost field, always exported null  |\n| `status`                | `enum`    | —     | `'draft'`  | `published`, `draft`, `scheduled`, `sent` |\n| `type`                  | `enum`    | —     | `'post'`   | `post`, `page`                            |\n| `visibility`            | `enum`    | —     | `'public'` | `public`, `members`, `paid`               |\n| `featured`              | `boolean` | —     | `false`    |                                           |\n| `created_at`            | `Date`    | —     | —          | **Required**                              |\n| `updated_at`            | `Date?`   | —     | `null`     |                                           |\n| `published_at`          | `Date?`   | —     | `null`     |                                           |\n| `feature_image`         | `string?` | 2000  | `null`     |                                           |\n| `feature_image_alt`     | `string?` | 125   | `null`     |                                           |\n| `feature_image_caption` | `string?` | 65535 | `null`     |                                           |\n| `custom_excerpt`        | `string?` | 300   | `null`     |                                           |\n| `canonical_url`         | `string?` | 2000  | `null`     |                                           |\n| `meta_title`            | `string?` | 300   | `null`     |                                           |\n| `meta_description`      | `string?` | 500   | `null`     |                                           |\n| `og_title`              | `string?` | 300   | `null`     |                                           |\n| `og_description`        | `string?` | 500   | `null`     |                                           |\n| `og_image`              | `string?` | 2000  | `null`     |                                           |\n| `twitter_title`         | `string?` | 300   | `null`     |                                           |\n| `twitter_description`   | `string?` | 500   | `null`     |                                           |\n| `twitter_image`         | `string?` | 2000  | `null`     |                                           |\n| `codeinjection_head`    | `string?` | 65535 | `null`     |                                           |\n| `codeinjection_foot`    | `string?` | 65535 | `null`     |                                           |\n| `custom_template`       | `string?` | 100   | `null`     |                                           |\n| `comment_id`            | `string?` | 50    | `null`     |                                           |\n| `plaintext`             | `string?` | —     | `null`     |                                           |\n\n### Tags\n\nTags have a `sort_order` that is tracked automatically. When tags are added, their position in the list becomes their sort order. The sort order is persisted to the database and included in the exported Ghost JSON as a 1-based integer (`sort_order: 1, 2, 3, ...`).\n\n#### `post.addTag(tag, options?): TagContext | false`\n\nAdd a tag by object or `TagContext`. Returns `false` if the slug already exists on this post.\n\n```js\npost.addTag({name: 'News', slug: 'news'});\n\n// Insert at a specific position (0-based index)\npost.addTag({name: 'Breaking', slug: 'breaking', sortOrder: 0});\n```\n\n| Option      | Type     | Required | Description                                      |\n|-------------|----------|----------|--------------------------------------------------|\n| `name`      | `string` | Yes      | Tag name                                         |\n| `slug`      | `string` | Yes      | Tag slug                                         |\n| `sortOrder` | `number` | No       | Position to insert at. Appends if out of bounds. |\n\n#### `post.removeTag(slug): void`\n\nRemove a tag by slug.\n\n#### `post.hasTagSlug(slug): boolean` / `post.hasTagName(name): boolean`\n\nCheck if the post has a specific tag.\n\n#### `post.setPrimaryTag({name, slug}): void`\n\nSet a tag as primary (moves it to sort order 1). Adds the tag if it doesn't exist.\n\n#### `post.setTagOrder(callback): void`\n\nReorder tags. The callback receives an array of `TagContext` instances and must return the same instances in the desired order. Access tag properties via `tag.data.slug`, `tag.data.name`, etc.\n\n```js\n// Move internal tags to the end\npost.setTagOrder((tags) => {\n    const regular = tags.filter(t => !t.data.slug.startsWith('hash-'));\n    const internal = tags.filter(t => t.data.slug.startsWith('hash-'));\n    return [...regular, ...internal];\n});\n```\n\n### Authors\n\nAuthors follow the same ordering model as tags — `sort_order` is tracked automatically, persisted, and exported as a 1-based integer.\n\n#### `post.addAuthor(author, options?): AuthorContext | false`\n\nAdd an author by object or `AuthorContext`. Returns `false` if the slug already exists on this post.\n\n```js\npost.addAuthor({name: 'Alice', slug: 'alice', email: 'alice@example.com'});\n\n// Insert at a specific position\npost.addAuthor({name: 'Bob', slug: 'bob', email: 'bob@example.com', sortOrder: 0});\n```\n\n| Option      | Type     | Required | Description                                      |\n|-------------|----------|----------|--------------------------------------------------|\n| `name`      | `string` | Yes      | Author name                                      |\n| `slug`      | `string` | Yes      | Author slug                                      |\n| `email`     | `string` | Yes      | Author email                                     |\n| `sortOrder` | `number` | No       | Position to insert at. Appends if out of bounds. |\n\n#### `post.removeAuthor(slug): void`\n\nRemove an author by slug.\n\n#### `post.hasAuthorSlug(slug): boolean` / `post.hasAuthorName(name): boolean` / `post.hasAuthorEmail(email): boolean`\n\nCheck if the post has a specific author.\n\n#### `post.setPrimaryAuthor({name, slug, email}): void`\n\nSet an author as primary (moves them to sort order 1). Adds the author if they don't exist.\n\n#### `post.setAuthorOrder(callback): void`\n\nReorder authors. The callback receives an array of `AuthorContext` instances and must return the same instances in the desired order. Access author properties via `author.data.slug`, `author.data.name`, etc.\n\n```js\n// Reverse the author order\npost.setAuthorOrder((authors) => [...authors].reverse());\n```\n\n### Source & metadata\n\n#### `post.source`\n\nAccess the source data object (set at construction). Not exported to Ghost JSON — use this to store original platform data for reference during migration.\n\n#### `post.getSourceValue(key): any`\n\nGet a single value from the source data.\n\n#### `post.meta`\n\nAccess the metadata object.\n\n#### `post.setMeta(value): void`\n\nReplace the metadata object.\n\n#### `post.getMetaValue(key): any`\n\nGet a single metadata value.\n\n### Web scrape data\n\n#### `post.webscrapeData: any`\n\nGet or set the raw web scrape response for this post. Stored as a JSON blob in a dedicated `webscrape_data` column on the Posts table. Defaults to `null`.\n\nThis is set automatically by [mg-webscraper](../mg-webscraper)'s `scrapePost` method, preserving the raw scraped response before any post-processing. Use it to access or reprocess scraped metadata in later pipeline steps without re-scraping.\n\n```js\n// Set during scraping (done automatically by scrapePost)\npost.webscrapeData = {meta_title: 'Page Title', og_image: 'https://example.com/img.jpg'};\n\n// Read later in the pipeline\nconst scraped = post.webscrapeData;\nif (scraped?.og_image) {\n    post.set('feature_image', scraped.og_image);\n}\n```\n\n### Deduplication\n\n#### `post.lookupKey: string | null`\n\nGet or set the lookup key. When a post with a matching lookup key already exists in the database, `save()` silently skips the insert.\n\n```js\nconst post = await ctx.addPost({lookupKey: 'https://example.com/post-url'});\n// ... set fields ...\nawait post.save(ctx.db);\n\n// Second save with same key is a no-op\nconst dupe = await ctx.addPost({lookupKey: 'https://example.com/post-url'});\nawait dupe.save(ctx.db); // skipped\n```\n\n### Field sanitization\n\nSource data routinely carries values Ghost will not accept — a title over 255 characters, a tag name over 191, an email that is not an address. Rather than failing the migration, each context normalizes its own data against [Ghost's schema](https://github.com/TryGhost/Ghost/blob/main/ghost/core/core/server/data/schema/schema.js) before anything is written.\n\nEnforcement lives in one place per context: `save()` calls `sanitize()`, which applies every rule and records what changed. That covers values set with `set()` as well as values handed to a constructor or loaded from a row, which bypass `set()` entirely.\n\nThe rules:\n\n| Applies to | Rule |\n|------------|------|\n| Every string field | Surrounding whitespace is stripped |\n| Every string field | Values over the field's maximum are truncated; a slug left with a dangling `-` has it removed |\n| URL fields | An over-long URL is dropped to `null` rather than truncated — a cut URL is a broken link, not a shorter one. Covers `feature_image`, `og_image`, `twitter_image` and `canonical_url` on posts and tags, and `website`, `profile_image` and `cover_image` on authors |\n| Post slugs | A deduplicating suffix (`-2`, `-3`) trims the base rather than overflowing the 191 character limit |\n| Tag `name` | A leading comma is stripped — Ghost validates names with `matches: /^([^,]\\|$)/` |\n| Author `email` | An address Ghost would reject is replaced with a derived placeholder at `example.com` (see below) |\n| Author `website` | Anything that is not a URL is dropped to `null`, on top of the length rule above |\n\nAn invalid email cannot be trimmed into shape, so it is replaced with a recognisable stand-in: the address is slugified, minus the bogus tail after its last dot, and given the reserved `example.com` domain. `hello@world.com123` becomes `hello-world@example.com`. When there is nothing usable to slugify, it falls back to the author's slug, then their name, then `author`. The local part is capped at 50 characters, which is Ghost's limit.\n\n#### `sanitizedFields: SanitizedField[]`\n\nGetter listing every value changed during this run, so nothing is lost silently:\n\n```js\nfor (const entry of ctx.sanitizedFields) {\n    console.log(`[${entry.reason}] ${entry.context} ${entry.slug} — ${entry.field}: ${entry.newValue}`);\n}\n```\n\n| Field      | Type     | Description                                                                       |\n|------------|----------|-----------------------------------------------------------------------------------|\n| `context`  | `string` | `PostContext`, `TagContext` or `AuthorContext`                                     |\n| `slug`     | `string` | Slug of the post, tag or author, for locating it afterwards                        |\n| `field`    | `string` | The field that changed                                                             |\n| `reason`   | `string` | `truncated`, `trimmed` or `replaced`                                               |\n| `oldValue` | `string` | The value before sanitization                                                      |\n| `newValue` | `string \\| null` | The value that was stored                                                  |\n\nThis is collected in memory as posts are saved, so it covers the current run only — resuming an existing `dbPath` starts empty, since the stored data was already sanitized when it was first written.\n\n### Slug deduplication\n\n#### `deduplicateSlugs(): Promise<DuplicateSlugEntry[]>`\n\nGhost requires unique slugs. When a migration source contains multiple posts with the same slug, this method renames newer duplicates by appending `-2`, `-3`, etc., while the oldest post keeps the original slug.\n\nCalled automatically by `prepareForExport()`, so you typically don't need to call it directly. It only runs once — subsequent calls reuse the cached result.\n\nRenaming happens at insert time, and the slug a post originally wanted is stored alongside it. The results are rebuilt from the database, so resuming against an existing `dbPath` still reports every rename, including those made on an earlier run. A slug changed after its post was inserted is not a duplicate and is not reported.\n\nAfter preparing, access the results via the `duplicateSlugs` getter to log renamed slugs for redirect handling:\n\n```js\nawait ctx.prepareForExport();\n\nfor (const entry of ctx.duplicateSlugs) {\n    const label = entry.oldSlug === entry.newSlug ? 'kept' : 'renamed';\n    console.log(`[${label}] ${entry.newSlug}  ${entry.url}`);\n}\n```\n\n#### `duplicateSlugs: DuplicateSlugEntry[]`\n\nGetter that returns the results of the most recent deduplication. Results are grouped by original slug. The first entry in each group is the retained post (`oldSlug === newSlug`), followed by the renamed ones.\n\n| Field     | Type     | Description                                                       |\n|-----------|----------|-------------------------------------------------------------------|\n| `oldSlug` | `string` | The original (duplicate) slug                                     |\n| `newSlug` | `string` | The final slug — same as `oldSlug` for the retained post          |\n| `url`     | `string` | Original URL from `source.url` or `canonical_url` (empty if none) |\n\nOrdering is determined by `published_at` (falling back to `created_at`), so the earliest post keeps the original slug. If a suffix like `-2` already belongs to a real post, it skips to `-3`, etc.\n\nSee [examples/deduplicate-slugs.ts](examples/deduplicate-slugs.ts) for a complete example.\n\n---\n\n## TagContext\n\nRepresents a tag with validated properties.\n\n### Constructor\n\n```js\nnew TagContext({name: 'News', slug: 'news'})\n// or\nnew TagContext({initialData: {name: 'News', slug: 'news'}})\n```\n\n### Methods\n\n- `tag.get(prop): any`\n- `tag.set(prop, value): TagContext`\n- `tag.remove(prop): TagContext`\n- `tag.save(db): void`\n\n### Tag fields\n\n| Field                 | Type      | Max   | Notes        |\n|-----------------------|-----------|-------|--------------|\n| `name`                | `string`  | 255   | **Required** |\n| `slug`                | `string`  | 191   | **Required** |\n| `description`         | `string?` | 500   |              |\n| `feature_image`       | `string?` | 2000  |              |\n| `og_image`            | `string?` | 2000  |              |\n| `og_title`            | `string?` | 300   |              |\n| `og_description`      | `string?` | 500   |              |\n| `twitter_image`       | `string?` | 2000  |              |\n| `twitter_title`       | `string?` | 300   |              |\n| `twitter_description` | `string?` | 500   |              |\n| `meta_title`          | `string?` | 300   |              |\n| `meta_description`    | `string?` | 500   |              |\n| `codeinjection_head`  | `string?` | 65535 |              |\n| `codeinjection_foot`  | `string?` | 65535 |              |\n| `canonical_url`       | `string?` | 2000  |              |\n\n---\n\n## AuthorContext\n\nRepresents an author with validated properties.\n\n### Constructor\n\n```js\nnew AuthorContext({name: 'Alice', slug: 'alice', email: 'alice@example.com'})\n```\n\n### Methods\n\n- `author.get(prop): any`\n- `author.set(prop, value): AuthorContext`\n- `author.remove(prop): AuthorContext`\n- `author.save(db): void`\n\n### Author fields\n\n| Field              | Type      | Max  | Notes                                                        |\n|--------------------|-----------|------|--------------------------------------------------------------|\n| `name`             | `string`  | 191  | **Required**                                                 |\n| `slug`             | `string`  | 191  | **Required**                                                 |\n| `email`            | `string`  | 191  | **Required**, validated                                      |\n| `profile_image`    | `string?` | 2000 |                                                              |\n| `cover_image`      | `string?` | 2000 |                                                              |\n| `bio`              | `string?` | 250  |                                                              |\n| `website`          | `string?` | 2000 |                                                              |\n| `location`         | `string?` | 150  |                                                              |\n| `facebook`         | `string?` | 2000 |                                                              |\n| `twitter`          | `string?` | 2000 |                                                              |\n| `meta_title`       | `string?` | 300  |                                                              |\n| `meta_description` | `string?` | 500  |                                                              |\n| `roles`            | `enum[]`  | —    | Defaults to `['Contributor']`. Each entry one of `Contributor`, `Author`, `Editor`, `Administrator` |\n\n---\n\n## Examples\n\nThe [examples/](examples/) directory contains runnable scripts demonstrating common patterns:\n\n- **generate-and-export.ts** — Create 500 posts in-memory and export to Ghost JSON\n- **reorder-tags-authors.ts** — Reorder tags and authors using `setTagOrder`, `setPrimaryTag`, and `addTag` with `sortOrder`\n- **generate-large-export.ts** — Stress-test with 500k posts, benchmarking memory and performance\n- **foreach-ghost-post.ts** — Iterate an existing database and log each post as Ghost JSON\n- **deduplicate-slugs.ts** — Detect and rename duplicate slugs, then log the changes for manual redirect handling\n- **stream-posts.ts** — Iterate 50k posts with `streamPosts()`, tracking peak memory usage\n\nRun any example from the package directory:\n\n```bash\nnpx tsx examples/generate-and-export.ts\n```\n\n## Develop\n\nThis is a mono repository, managed with [Nx](https://nx.dev/) and pnpm workspaces.\n\nFollow the instructions for the top-level repo.\n1. `git clone` this repo & `cd` into it as usual\n2. Run `pnpm install` to install top-level dependencies.\n\n## Test\n\n- `pnpm test` runs the package tests\n- Linting and formatting are run from the repo root (`pnpm lint`, `pnpm format`)\n- `pnpm test:local` build and run tests (for single-package development)\n\n# Copyright & License\n\nCopyright (c) 2013-2026 Ghost Foundation - Released under the [MIT license](LICENSE).\n","readmeFilename":"README.md"}