
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
contentful-to-zod
Advanced tools
🔄 Generate type-safe Zod schemas from your Contentful content types with ease!
By validating our contentful data with zod, we can catch any unhandled schema changes and protect ourselves from unexpected runtime errors.
# npm
npm install -D contentful-to-zod
# yarn
yarn add -D contentful-to-zod
# pnpm
pnpm install -D contentful-to-zod
contentful space export \
--space-id <SPACE_ID> \
--management-token <MANAGEMENT_TOKEN> \
--content-file ./contentful.json \
--content-model-only=true
npx contentful-to-zod --input ./contentful.json --output ./schemas.ts
Browse a sample output here
You can customize the generator behavior by creating a contentful-to-zod.config.js
or contentful-to-zod.config.mjs
file in your project root:
// contentful-to-zod.config.js
/** @type {import('contentful-to-zod').ContentfulToZodConfig} */
export default {
// Generate flat schemas without references
flat: true,
// Allow unknown keys in objects
passthrough: true,
// Throw error for unsupported types
abortOnUnknown: false,
// Custom naming functions
toTypeName: (entity) => `${entity}Type`,
toSchemaName: (entity) => `${entity}Schema`,
};
The configuration file supports all generator options. CLI arguments take precedence over config file options.
import contentful from "contentful";
import { pageSchema } from "./schemas";
const client = contentful.createClient({
// ...
});
const response = await client.getEntries({
content_type: "page",
});
const pages = response.items.map((item) => pageSchema.parse(item));
Option | Description | Default |
---|---|---|
-i, --input <path> | Path to Contentful schema JSON file | Required |
-o, --output <path> | Output path for generated TypeScript file | Required |
--passthrough | Allow unknown keys in objects | false |
-a, --abort-on-unknown | Throw error for unsupported types instead of using z.unknown() | false |
-f, --flat | Generate flat schemas without references | false |
MIT
npm version major|minor|patch
git push origin main
VERSION=v$(npm version | grep contentful-to-zod | cut -d"'" -f 4)
git push origin $VERSION
gh release create $VERSION --title $VERSION --generate-notes
FAQs
Generate Zod schemas from Contentful content types
The npm package contentful-to-zod receives a total of 27 weekly downloads. As such, contentful-to-zod popularity was classified as not popular.
We found that contentful-to-zod demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.