{"id":41987,"library":"sparql-formatter","title":"sparql-formatter","description":"A SPARQL 1.1 query formatter for Node.js and the browser. Current version 1.0.2 formats SPARQL queries with customizable indentation and formatting modes (default, compact, turtle, JSON-LD). It supports both ESM imports and CommonJS require, and includes a CLI tool. Unlike ad-hoc formatters, it parses queries according to the SPARQL 1.1 spec, ensuring correctness. The package is stable with low release cadence, suitable for integration into query editors or pipelines.","status":"active","version":"1.0.2","language":"javascript","source_language":"en","source_url":"https://github.com/sparqling/sparql-formatter","tags":["javascript","parser"],"install":[{"cmd":"npm install sparql-formatter","lang":"bash","label":"npm"},{"cmd":"yarn add sparql-formatter","lang":"bash","label":"yarn"},{"cmd":"pnpm add sparql-formatter","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"SPARQL parser used internally","package":"sparqljs","optional":false}],"imports":[{"note":"Package supports both ESM and CJS. For CJS, require the default export and access .spfmt.","wrong":"const spfmt = require('sparql-formatter').spfmt;","symbol":"spfmt","correct":"import { spfmt } from 'sparql-formatter';"},{"note":"Default export is the spfmt object. Both patterns are valid.","wrong":"import { spfmt } from 'sparql-formatter'; // also works but not default","symbol":"default import (spfmt)","correct":"import spfmt from 'sparql-formatter';"},{"note":"formattingMode must be one of 'default', 'compact', 'turtle', 'jsonld'.","wrong":"spfmt.format(query, 'invalid_mode');","symbol":"spfmt.format","correct":"import { spfmt } from 'sparql-formatter'; spfmt.format(query);"}],"quickstart":{"code":"import { spfmt } from 'sparql-formatter';\nconst query = 'select * where {?s ?p ?o}';\nconsole.log(spfmt.format(query, 'default', 2));\n// Output:\n// SELECT *\n// WHERE {\n//   ?s ?p ?o .\n// }\n\n// Compact mode:\nconsole.log(spfmt.format(query, 'compact'));\n// Output: SELECT * WHERE { ?s ?p ?o }","lang":"typescript","description":"Basic usage importing spfmt and formatting a SPARQL query with default and compact modes."},"warnings":[{"fix":"Use `npx sparql-formatter` or global install.","message":"CLI tool name conflicts with package name; use 'sparql-formatter' command.","severity":"gotcha","affected_versions":">=1.0"},{"fix":"Use exactly 'default', 'compact', 'turtle', or 'jsonld'.","message":"Formatting mode names are case-sensitive and must be lowercase strings.","severity":"gotcha","affected_versions":">=1.0"},{"fix":"","message":"No deprecated features reported.","severity":"deprecated","affected_versions":""}],"env_vars":null,"search_vec":"'1.0.2':16 '1.1':6,57 'accord':53 'ad':47 'ad-hoc':46 'browser':13 'cadenc':68 'cli':43 'commonj':38 'compact':27 'correct':60 'current':14 'customiz':21 'default':26 'editor':74 'ensur':59 'esm':35 'format':17,24 'formatt':3,8,49 'hoc':48 'import':36 'includ':41 'indent':22 'integr':71 'javascript':77 'json':30 'json-ld':29 'ld':31 'low':66 'mode':25 'node.js':10 'packag':62 'pars':51 'parser':78 'pipelin':76 'queri':7,19,52,73 'releas':67 'requir':39 'sparql':2,5,18,56 'sparql-formatt':1 'spec':58 'stabl':64 'suitabl':69 'support':33 'tool':44 'turtl':28 'unlik':45 'version':15","created_at":"2026-06-04T18:55:04.452494+00:00","updated_at":"2026-06-04T18:55:04.452494+00:00","problems":[{"fix":"Set \"type\": \"module\" in package.json or use dynamic import().","cause":"Using ESM syntax in a non-ESM Node.js project (e.g., require() in same file).","error":"SyntaxError: Unexpected token 'export'"},{"fix":"Run `npm install sparql-formatter` and ensure import is from 'sparql-formatter'.","cause":"Package not installed or import path incorrect.","error":"Cannot find module 'sparql-formatter'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://sparql-formatter.dbcls.jp/","github":"https://github.com/sparqling/sparql-formatter","docs":null,"changelog":null,"pypi":null,"npm":"sparql-formatter","openapi_spec":null,"status_page":null,"smithery":null,"categories":["database","devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-04","next_check":"2026-09-02","install_tag":null}}