{"id":41282,"library":"idf-formatter","title":"IDF Formatter","description":"A formatter engine for EnergyPlus Input Data File (IDF) format. Current stable version is 1.1.3. Release cadence is irregular. Key differentiator: it is a dedicated formatter for EnergyPlus IDF files, supporting customizable indentation, comment column padding, and empty lines between entries. It is a small, focused library with no external dependencies.","status":"active","version":"1.1.3","language":"javascript","source_language":"en","source_url":"https://github.com/pouyakary/idf-formatter","tags":["javascript","IDF","Formatter"],"install":[{"cmd":"npm install idf-formatter","lang":"bash","label":"npm"},{"cmd":"yarn add idf-formatter","lang":"bash","label":"yarn"},{"cmd":"pnpm add idf-formatter","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"ESM-only package; CommonJS require will fail.","wrong":"const formatIDF = require('idf-formatter')","symbol":"formatIDF","correct":"import { formatIDF } from 'idf-formatter'"},{"note":"Only named export is available; default import is invalid.","wrong":"import formatIDF from 'idf-formatter'","symbol":"default import","correct":"import { formatIDF } from 'idf-formatter'"},{"note":"No types are exported from this package; type imports are not applicable.","wrong":"","symbol":"type import","correct":"import type { IDirectory } from 'idf-formatter'"}],"quickstart":{"code":"import { formatIDF } from 'idf-formatter';\n\nconst idfText = `\nVersion,9.0;\n  Building,Example Building;\n`;\n\nconst formatted = formatIDF(idfText, {\n  indentation: 4,\n  commentColumnPadding: 30,\n  emptyLinesBetweenEntries: 1\n});\n\nconsole.log(formatted);","lang":"typescript","description":"Formats an IDF text with custom indentation, comment padding, and empty lines between entries."},"warnings":[{"fix":"Use import syntax or dynamic import.","message":"The package is ESM-only; using require() will throw a runtime error.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use named import: import { formatIDF } from 'idf-formatter'.","message":"Only named export formatIDF is available; default import does not exist.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Always pass numbers for indentation, commentColumnPadding, and emptyLinesBetweenEntries.","message":"Options object properties must be numbers; strings will cause unexpected behavior.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"search_vec":"'1.1.3':17 'cadenc':19 'column':37 'comment':36 'current':13 'customiz':34 'data':9 'dedic':27 'depend':53 'differenti':23 'empti':40 'energyplus':7,30 'engin':5 'entri':43 'extern':52 'file':10,32 'focus':48 'format':12 'formatt':2,4,28,56 'idf':1,11,31,55 'indent':35 'input':8 'irregular':21 'javascript':54 'key':22 'librari':49 'line':41 'pad':38 'releas':18 'small':47 'stabl':14 'support':33 'version':15","created_at":"2026-06-04T18:51:39.227174+00:00","updated_at":"2026-06-04T18:51:39.227174+00:00","problems":[{"fix":"Add 'type': 'module' to your package.json, or use dynamic import: const { formatIDF } = await import('idf-formatter');","cause":"Using ESM import in a CommonJS environment without proper configuration.","error":"SyntaxError: Cannot use import statement outside a module"},{"fix":"Ensure correct import: import { formatIDF } from 'idf-formatter';","cause":"Attempting to call formatIDF as a default import or using require incorrectly.","error":"TypeError: formatIDF is not a function"}],"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://github.com/pouyakary/idf-formatter#readme","github":"https://github.com/pouyakary/idf-formatter","docs":null,"changelog":null,"pypi":null,"npm":"idf-formatter","openapi_spec":null,"status_page":null,"smithery":null,"categories":["testing"],"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}}