content
content copied to clipboard
Large strings in JSON files break type checking
Environment
- Operating System:
MacOS Sequoia 15.1.1 (24B91) - Node Version:
v20.11.0 - Nuxt Version:
3.17.10 - Package Manager:
[email protected]
Version
v3
Reproduction
https://github.com/
Description
package.json
{
"name": "nuxt-app",
"private": true,
"type": "module",
"scripts": {
"build": "nuxt build",
"dev": "nuxt dev",
"generate": "nuxt generate",
"preview": "nuxt preview",
"postinstall": "nuxt prepare"
},
"dependencies": {
"@nuxt/content": "^3.5.1",
"@nuxt/eslint": "^1.3.0",
"@nuxt/fonts": "^0.11.2",
"@nuxt/image": "^1.10.0",
"@pinia/nuxt": "^0.11.0",
"eslint": "^9.26.0",
"nuxt": "^3.17.1",
"pinia": "^3.0.2",
"vue": "^3.5.13",
"vue-router": "^4.5.1"
}
}
nuxt.config.ts
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
compatibilityDate: "2024-11-01",
devtools: { enabled: true },
modules: [
"@nuxt/content",
"@nuxt/eslint",
"@nuxt/fonts",
"@nuxt/image",
"@pinia/nuxt",
],
content: {},
});
content.config.ts
import { defineCollection, defineContentConfig, z } from "@nuxt/content";
export default defineContentConfig({
collections: {
templates: defineCollection({
type: "data",
source: "templates/**",
schema: z.object({
id: z.string().nonempty(),
blocks: z.array(z.string()),
}),
}),
blocks: defineCollection({
type: "data",
source: "blocks/**",
schema: z.object({
id: z.string().nonempty(),
html: z.string(),
style: z.array(z.string()), // <- here is the problem
script: z.array(z.string()),
}),
}),
},
});
My JSON file main-block-1.json
I get errors in terminal
ERROR [unhandledRejection] near "blocks": syntax error 9:51:58 AM
at Database.exec (node_modules/better-sqlite3/lib/methods/wrappers.js:9:14)
at Object.exec (node_modules/db0/dist/connectors/better-sqlite3.mjs:27:28)
at Object.exec (node_modules/@nuxt/content/dist/module.mjs:284:10)
at processCollectionItems (node_modules/@nuxt/content/dist/module.mjs:2732:8)
at async node_modules/@nuxt/content/dist/module.mjs:2622:20
at async initNuxt (node_modules/nuxt/dist/shared/nuxt.zDGA4d3b.mjs:5839:3)
at async NuxtDevServer._load (node_modules/@nuxt/cli/dist/chunks/dev2.mjs:183:5)
at async NuxtDevServer.load (node_modules/@nuxt/cli/dist/chunks/dev2.mjs:111:7)
at async NuxtDevServer.init (node_modules/@nuxt/cli/dist/chunks/dev2.mjs:106:5)
at async Object.run (node_modules/@nuxt/cli/dist/chunks/dev-child.mjs:94:5)
ERROR [unhandledRejection] near "[]": syntax error 9:47:31 AM
at Database.exec (node_modules/better-sqlite3/lib/methods/wrappers.js:9:14)
at Object.exec (node_modules/db0/dist/connectors/better-sqlite3.mjs:27:28)
at Object.exec (node_modules/@nuxt/content/dist/module.mjs:284:10)
at node_modules/@nuxt/content/dist/module.mjs:1650:55
at Array.map (<anonymous>)
at Object.broadcast (node_modules/@nuxt/content/dist/module.mjs:1650:37)
at async FSWatcher.onChange (node_modules/@nuxt/content/dist/module.mjs:1733:7)
Causes infinite nuxt restart.
If I delete style[0] in main-block-1.json or comment style: z.array(z.string()) in content.config.ts there's no error, but I need type checking
Additional context
No response
Logs