{"id":42630,"library":"devcourse_skeleton","title":"devcourse_skeleton","description":"devcourse_skeleton is a lightweight Node.js package for dynamically generating SQL queries (SELECT, INSERT, UPDATE, DELETE) with support for subqueries via a literalize helper. Current version 0.0.11, released as an early-stage project with no recent updates. It provides validation and error handling for query inputs. Unlike full ORMs like Sequelize or TypeORM, it focuses on simple string-building with safety checks, suitable for small projects or learning SQL generation. However, the package is minimal, lacks TypeScript support, and has no clear release cadence.","status":"active","version":"0.0.11","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","Express","MySQL"],"install":[{"cmd":"npm install devcourse_skeleton","lang":"bash","label":"npm"},{"cmd":"yarn add devcourse_skeleton","lang":"bash","label":"yarn"},{"cmd":"pnpm add devcourse_skeleton","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Runtime dependency for MySQL database connectivity","package":"mysql","optional":false}],"imports":[{"note":"Package is ESM-only; CommonJS require will fail.","wrong":"const Skeleton = require('devcourse_skeleton')","symbol":"default","correct":"import Skeleton from 'devcourse_skeleton'"},{"note":"Named exports for CRUD operations.","wrong":"const { select, insert, update, delete } = require('devcourse_skeleton')","symbol":"select, insert, update, delete","correct":"import { select, insert, update, delete } from 'devcourse_skeleton'"},{"note":"literalize is a named export, not default.","wrong":"import literalize from 'devcourse_skeleton'","symbol":"literalize","correct":"import { literalize } from 'devcourse_skeleton'"}],"quickstart":{"code":"import Skeleton from 'devcourse_skeleton';\nimport mysql from 'mysql';\n\nconst connection = mysql.createConnection({\n  host: 'localhost',\n  user: 'root',\n  password: process.env.DB_PASSWORD ?? '',\n  database: 'test'\n});\n\nconst db = new Skeleton(connection);\n\nasync function run() {\n  const users = await db.select('users', ['id', 'name'], { status: 'active' });\n  console.log(users);\n}\n\nrun().catch(console.error);","lang":"javascript","description":"Shows how to instantiate Skeleton with a MySQL connection and perform a SELECT query."},"warnings":[{"fix":"Set type: 'module' in package.json or use import syntax.","message":"Package uses ESM modules only; CommonJS require() will throw an error.","severity":"gotcha","affected_versions":">=0.0.1"},{"fix":"Create a declaration file or use 'any' type.","message":"No TypeScript type definitions are provided; using in TypeScript projects will require manual .d.ts declarations.","severity":"breaking","affected_versions":">=0.0.1"},{"fix":"Consider mature alternatives like knex.js or sequelize.","message":"The package is very early stage (v0.0.11) and may have bugs; not recommended for production use.","severity":"gotcha","affected_versions":">=0.0.1"}],"env_vars":null,"search_vec":"'0.0.11':29 'build':63 'cadenc':88 'check':66 'clear':86 'current':27 'delet':18 'devcours':1,3 'dynam':11 'earli':34 'early-stag':33 'error':45 'express':90 'focus':58 'full':51 'generat':12,74 'handl':46 'helper':26 'howev':75 'input':49 'insert':16 'javascript':89 'lack':80 'learn':72 'lightweight':7 'like':53 'liter':25 'minim':79 'mysql':91 'node.js':8 'orm':52 'packag':9,77 'project':36,70 'provid':42 'queri':14,48 'recent':39 'releas':30,87 'safeti':65 'select':15 'sequel':54 'simpl':60 'skeleton':2,4 'small':69 'sql':13,73 'stage':35 'string':62 'string-build':61 'subqueri':22 'suitabl':67 'support':20,82 'typeorm':56 'typescript':81 'unlik':50 'updat':17,40 'valid':43 'version':28 'via':23","created_at":"2026-06-05T16:55:54.007141+00:00","updated_at":"2026-06-05T16:55:54.007141+00:00","problems":[{"fix":"Use import syntax or rename file to .mjs.","cause":"Project is using CommonJS require() but package is ESM-only.","error":"ERR_REQUIRE_ESM"},{"fix":"import Skeleton from 'devcourse_skeleton' (no curly braces).","cause":"Default import used incorrectly; Skeleton is a default export but must be imported with default syntax.","error":"TypeError: Skeleton is not a constructor"},{"fix":"npm install mysql","cause":"Missing peer dependency mysql.","error":"Cannot find module 'mysql'"}],"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":"devcourse_skeleton","openapi_spec":null,"status_page":null,"smithery":null,"categories":["database"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-05","next_check":"2026-09-03","install_tag":null}}