{"id":46455,"library":"sqlite-express-folders","title":"Sqlite Express Folders","description":"sqlite-express-folders v4.0.4 is a utility package that organizes sqlite-express methods into a nested folder structure. It reads methods from methods.js files inside directories specified by a route, automatically creating a tree of SQL handlers. Released actively, it depends on sqlite-express and optionally on lek-dir-object. It provides a getTree function and a sqlite_express_instance, with local folderDefaultOptions overriding defaults.","status":"active","version":"4.0.4","language":"javascript","source_language":"en","source_url":null,"tags":["javascript"],"install":[{"cmd":"npm install sqlite-express-folders","lang":"bash","label":"npm"},{"cmd":"yarn add sqlite-express-folders","lang":"bash","label":"yarn"},{"cmd":"pnpm add sqlite-express-folders","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Core peer dependency for SQLite operations","package":"sqlite-express","optional":false},{"reason":"Used to create tree from nested directories","package":"lek-dir-object","optional":true}],"imports":[{"note":"Default export is a function; named exports also available.","wrong":"import { default } from 'sqlite-express-folders'","symbol":"default","correct":"import sqliteExpressFolders from 'sqlite-express-folders'"},{"note":"One of the return values from the call.","wrong":"","symbol":"getTree","correct":"import { getTree } from 'sqlite-express-folders'"},{"note":"Returned from the function call.","wrong":"","symbol":"sqlite_express_instance","correct":"import { sqlite_express_instance } from 'sqlite-express-folders'"},{"note":"Named export, not default; only available if using lek-dir-object option.","wrong":"import createTree from 'sqlite-express-folders'","symbol":"createTree","correct":"import { createTree } from 'sqlite-express-folders'"}],"quickstart":{"code":"const sqliteExpressFolders = require('sqlite-express-folders');\n\nconst {\n    sqlite_express_instance,\n    getTree\n} = sqliteExpressFolders({ rootPath: __dirname, routeFolder: './my_methods' });\n\n// Example methods.js inside './my_methods/methods.js':\n// const methods = async sqliteExpress => {\n//     const getAll = () => sqliteExpress.query('SELECT * FROM users');\n//     return { getAll };\n// };\n// module.exports = methods;\n\n(async () => {\n    const tree = await getTree();\n    const result = await tree.getAll();\n    console.log(result);\n})();","lang":"javascript","description":"Shows basic setup: import the package, call with rootPath and routeFolder, define a methods.js file in the route folder, then use getTree to access methods."},"warnings":[{"fix":"Ensure routeFolder is relative to rootPath.","message":"routeFolder must be a relative path; absolute paths will cause errors.","severity":"gotcha","affected_versions":">=1.0"},{"fix":"Rename your JS files to methods.js or nest them in subdirectories with their own methods.js.","message":"Only files named 'methods.js' are read; other files inside routeFolder are ignored.","severity":"gotcha","affected_versions":">=1.0"},{"fix":"Use 'routeFolder' instead of 'route' in the options object.","message":"The parameter 'route' in v3 is replaced by 'routeFolder' in v4.","severity":"deprecated","affected_versions":">=4.0"},{"fix":"Declare as 'async sqliteExpress => { ... }' and use 'module.exports = methods'.","message":"The function provided in methods.js must be async and export via module.exports.","severity":"gotcha","affected_versions":">=1.0"}],"env_vars":null,"search_vec":"'activ':44 'automat':36 'creat':37 'default':72 'depend':46 'dir':56 'directori':31 'express':2,6,17,50,66 'file':29 'folder':3,7,22 'folderdefaultopt':70 'function':62 'gettre':61 'handler':42 'insid':30 'instanc':67 'javascript':73 'lek':55 'lek-dir-object':54 'local':69 'method':18,26 'methods.js':28 'nest':21 'object':57 'option':52 'organ':14 'overrid':71 'packag':12 'provid':59 'read':25 'releas':43 'rout':35 'specifi':32 'sql':41 'sqlite':1,5,16,49,65 'sqlite-express':15,48 'sqlite-express-fold':4 'structur':23 'tree':39 'util':11 'v4.0.4':8","created_at":"2026-06-07T13:00:00.763816+00:00","updated_at":"2026-06-07T13:00:00.763816+00:00","problems":[{"fix":"Use 'const sqliteExpressFolders = require('sqlite-express-folders');' instead of destructured import.","cause":"Using named import for default export in CommonJS.","error":"TypeError: sqliteExpressFolders is not a function"},{"fix":"Ensure routeFolder is relative to rootPath (e.g., './my_methods').","cause":"Passing an absolute path to routeFolder.","error":"Error: routeFolder must be a relative path"},{"fix":"Export 'module.exports = async sqliteExpress => { return { yourMethods }; };'.","cause":"methods.js exports something else (e.g., an object) instead of an async function.","error":"TypeError: methods 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":null,"github":null,"docs":null,"changelog":null,"pypi":null,"npm":"sqlite-express-folders","openapi_spec":null,"status_page":null,"smithery":null,"categories":["database","productivity"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}