You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am trying to compile the following schema to a TS type, and I get an error that prevent the TS type from being created.
I am thinking the error can be dependent on the "schema" itself and not on this library.
This is because the same script run again this example json scheme is converted without error.
I am asking here some insight about the error, so I can later open a correct issue on the schema provider repo.
constpath=require('path');constfs=require('fs');const{ compile, compileFromFile }=require('json-schema-to-typescript');// Utility - DiskconstgetFilePathFromHere=(relativePath)=>path.resolve(__dirname,relativePath);constwriteToDisk=(filePath,text)=>{fs.writeFileSync(filePath,text);};// run(async()=>{try{console.log('Initializing ...!');// fetch the schema and save to a local fileconstjsonSchema=awaitfetch("https://schemas.wp.org/trunk/theme.json").then(res=>res.text());constfilePath=getFilePathFromHere('./schema.json');writeToDisk(filePath,jsonSchema);// compile to TS typeconsttsTypes=awaitcompileFromFile(filePath);writeToDisk(getFilePathFromHere('./schema.ts'),tsTypes);console.log('Success!');process.exit(0);}catch(error){console.log('Error!');console.error(error);process.exit(1);}})();
Error
Initializing ...!
Error!
SyntaxError: Expression expected. (11:61)
9 | /**
10 |* This interface was referenced by `SettingsBlocksPropertiesComplete`'s JSON-Schema definition> 11 | * via the `patternProperty` "^[a-z][a-z0-9-]*/[a-z][a-z0-9-]*$". | ^ 12 | */ 13 | export type SettingsPropertiesComplete = (SettingsProperties & { 14 | appearanceTools?: unknown at v (/Users/jacopo/Local Sites/2/demo-andomya-preventivo/app/public/wp-content/themes/andomya-theme--child-of-tt3/node_modules/prettier/parser-typescript.js:1:14679) at _H (/Users/jacopo/Local Sites/2/demo-andomya-preventivo/app/public/wp-content/themes/andomya-theme--child-of-tt3/node_modules/prettier/parser-typescript.js:49:10722) at Object.cH [as parse] (/Users/jacopo/Local Sites/2/demo-andomya-preventivo/app/public/wp-content/themes/andomya-theme--child-of-tt3/node_modules/prettier/parser-typescript.js:49:11028) at Object.parse (/Users/jacopo/Local Sites/2/demo-andomya-preventivo/app/public/wp-content/themes/andomya-theme--child-of-tt3/node_modules/prettier/index.js:7515:23) at coreFormat (/Users/jacopo/Local Sites/2/demo-andomya-preventivo/app/public/wp-content/themes/andomya-theme--child-of-tt3/node_modules/prettier/index.js:8829:18) at formatWithCursor2 (/Users/jacopo/Local Sites/2/demo-andomya-preventivo/app/public/wp-content/themes/andomya-theme--child-of-tt3/node_modules/prettier/index.js:9021:18) at /Users/jacopo/Local Sites/2/demo-andomya-preventivo/app/public/wp-content/themes/andomya-theme--child-of-tt3/node_modules/prettier/index.js:38183:12 at format (/Users/jacopo/Local Sites/2/demo-andomya-preventivo/app/public/wp-content/themes/andomya-theme--child-of-tt3/node_modules/prettier/index.js:38197:12) at format (/Users/jacopo/Local Sites/2/demo-andomya-preventivo/app/public/wp-content/themes/andomya-theme--child-of-tt3/node_modules/json-schema-to-typescript/dist/src/formatter.js:20:34) at /Users/jacopo/Local Sites/2/demo-andomya-preventivo/app/public/wp-content/themes/andomya-theme--child-of-tt3/node_modules/json-schema-to-typescript/dist/src/index.js:163:56 { loc: { start: { line: 11, column: 61 } }, codeFrame: '\x1B[0m \x1B[90m 9 |\x1B[39m \x1B[90m/**\x1B[39m\x1B[0m\n' + "\x1B[0m \x1B[90m 10 |\x1B[39m \x1B[90m * This interface was referenced by `SettingsBlocksPropertiesComplete`'s JSON-Schema definition\x1B[39m\x1B[0m\n" + '\x1B[0m\x1B[31m\x1B[1m>\x1B[22m\x1B[39m\x1B[90m 11 |\x1B[39m \x1B[90m * via the `patternProperty`"^[a-z][a-z0-9-]*/\x1B[39m[a\x1B[33m-\x1B[39mz][a\x1B[33m-\x1B[39mz0\x1B[33m-\x1B[39m\x1B[35m9\x1B[39m\x1B[33m-\x1B[39m]\x1B[33m*\x1B[39m$\x1B[32m".\x1B[39m\x1B[0m\n' + '\x1B[0m \x1B[90m |\x1B[39m \x1B[31m\x1B[1m^\x1B[22m\x1B[39m\x1B[0m\n' + '\x1B[0m \x1B[90m 12 |\x1B[39m \x1B[33m*\x1B[39m\x1B[33m/\x1B[39m\x1B[0m\n' + '\x1B[0m \x1B[90m 13 |\x1B[39m \x1B[36mexport\x1B[39m type \x1B[33mSettingsPropertiesComplete\x1B[39m \x1B[33m=\x1B[39m (\x1B[33mSettingsProperties\x1B[39m \x1B[33m&\x1B[39m {\x1B[0m\n' + '\x1B[0m \x1B[90m 14 |\x1B[39m appearanceTools\x1B[33m?\x1B[39m\x1B[33m:\x1B[39m unknown\x1B[0m'}
The text was updated successfully, but these errors were encountered:
I am trying to compile the following schema to a TS type, and I get an error that prevent the TS type from being created.
I am thinking the error can be dependent on the "schema" itself and not on this library.
This is because the same script run again this example json scheme is converted without error.
I am asking here some insight about the error, so I can later open a correct issue on the schema provider repo.
What i don't know is:
Input Schema
schema
Script Used
Error
The text was updated successfully, but these errors were encountered: