naorm-sqlite
Advanced tools
Comparing version 0.1.1 to 0.2.0
@@ -73,2 +73,5 @@ { | ||
"properties": { | ||
"barrelExportExtension": { | ||
"type": "string" | ||
}, | ||
"conventionSets": { | ||
@@ -75,0 +78,0 @@ "items": { |
{ | ||
"name": "naorm-sqlite", | ||
"version": "0.1.1", | ||
"version": "0.2.0", | ||
"description": "A Command-Line Interface that generates TypeScript code from SQLite files in your code base.", | ||
@@ -12,24 +12,47 @@ "keywords": [ | ||
], | ||
"homepage": "https://github.com/mm716783/naorm-sqlite", | ||
"homepage": "https://stackblitz.com/edit/naorm-sqlite-demo?file=your-app.ts,db%2Fsrc%2Ftables%2Fyour-table.sql", | ||
"repository": "github:mm716783/naorm-sqlite", | ||
"license": "MIT", | ||
"main": "dist/index.js", | ||
"type": "module", | ||
"exports": { | ||
".": { | ||
"types": "./dist/types/index.d.ts", | ||
"import": "./dist/esm/index.js", | ||
"require": "./dist/commonjs/index.js", | ||
"default": "./dist/esm/index.js" | ||
} | ||
}, | ||
"main": "dist/commonjs/index.js", | ||
"types": "dist/types/index.d.ts", | ||
"bin": { | ||
"naorm": "dist/cli.js" | ||
"naorm": "dist/esm/cli.js" | ||
}, | ||
"scripts": { | ||
"start": "npx ts-node src/cli.ts generate tests/test-dbs/northwind", | ||
"build": "npx tsc && npm run json", | ||
"json": "typescript-json-schema ./tsconfig.json NAORMConfig -o dist/naorm-config.schema.json", | ||
"test": "jest --coverage" | ||
}, | ||
"files": [ | ||
"dist" | ||
], | ||
"scripts": { | ||
"start": "npx ts-node-esm src/cli.ts generate tests/test-dbs/northwind", | ||
"build": "npx rimraf dist && npx tsc && npx tsc --project tsconfig.cjs.json && node package.js && npm run json", | ||
"json": "typescript-json-schema ./tsconfig.cjs.json NAORMConfig -o dist/naorm-config.schema.json", | ||
"test": "jest --coverage", | ||
"lint": "eslint . --ext .ts", | ||
"prepare": "husky install", | ||
"semantic-release": "semantic-release" | ||
}, | ||
"author": "Matthew Moran", | ||
"devDependencies": { | ||
"@commitlint/cli": "^17.4.2", | ||
"@commitlint/config-conventional": "^17.4.2", | ||
"@semantic-release/changelog": "^6.0.2", | ||
"@semantic-release/git": "^10.0.1", | ||
"@types/better-sqlite3": "^7.6.3", | ||
"@types/glob": "^8.0.0", | ||
"@types/jest": "^29.2.5", | ||
"@typescript-eslint/eslint-plugin": "^5.48.0", | ||
"@typescript-eslint/parser": "^5.48.0", | ||
"eslint": "^8.31.0", | ||
"husky": "^8.0.0", | ||
"jest": "^29.3.1", | ||
"rimraf": "^3.0.2", | ||
"semantic-release": "^20.0.2", | ||
"ts-jest": "^29.0.3", | ||
@@ -36,0 +59,0 @@ "ts-node": "^10.9.1", |
# Not an ORM (NAORM) for SQLite | ||
A Command Line Interface for generating TypeScript from SQLite files in your code base. | ||
[![Coverage Status](https://coveralls.io/repos/github/mm716783/naorm-sqlite/badge.svg?branch=develop)](https://coveralls.io/github/mm716783/naorm-sqlite?branch=develop) [![Node.js CI](https://github.com/mm716783/naorm-sqlite/actions/workflows/node.js.yml/badge.svg)](https://github.com/mm716783/naorm-sqlite/actions/workflows/node.js.yml) ![GitHub](https://img.shields.io/github/license/mm716783/naorm-sqlite) ![npm (tag)](https://img.shields.io/npm/v/naorm-sqlite/latest) [![semantic-release: angular](https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release)](https://github.com/semantic-release/semantic-release) | ||
Many [TypeScript](https://www.typescriptlang.org/) projects use [SQLite](https://www.sqlite.org/index.html), but maintaining SQL in a TypeScript code base is challenging and fraught with pitfalls. And while using an Object-Relational Mapping (ORM) tool can solve certain problems, it also comes with learning curves and limitations for SQL developers. Not an ORM (NAORM - pronounced "norm") allows SQLite projects to leverage the benefits of TypeScript with a SQL-first approach. | ||
A Command Line Interface for generating TypeScript from SQLite files. | ||
NAORM (pronounced “norm”) is a CLI tool that bridges the gap between SQLite and TypeScript. It allows you to maintain your database schema, queries, and other statements in SQL files, then generates corresponding TypeScript for you to import into your application. It is a fast and lightweight alternative to using an ORM. | ||
*Try NAORM now [on Stackblitz](https://stackblitz.com/edit/naorm-sqlite-demo?file=your-app.ts,db%2Fsrc%2Ftables%2Fyour-table.sql)!* | ||
### Key Features: | ||
@@ -47,2 +52,4 @@ | ||
Many [TypeScript](https://www.typescriptlang.org/) projects use [SQLite](https://www.sqlite.org/index.html), but maintaining SQL in a TypeScript code base is challenging and fraught with pitfalls. And while using an Object-Relational Mapping (ORM) tool can solve certain problems, it also comes with learning curves and limitations for SQL developers. Not an ORM for SQLite allows SQLite projects to leverage the benefits of TypeScript with a SQL-first approach. | ||
Not an ORM lets you develop all kinds of SQLite statements in SQL files, then use these statements in your TypeScript application. This allows you to leverage the ecosystem available for SQLite development, such as [alexcvzz's VS Code extension](https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite) and the standalone tool [DB Browser for SQLite](https://sqlitebrowser.org/). No more maintaining SQL in JS/TS strings! And though it is "Not an ORM", it can generate TypeScript classes or interfaces for any SQLite table, view, or query result. | ||
@@ -49,0 +56,0 @@ |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
173980
77
3190
907
Yes
18
13
1