{"id":45516,"library":"nativescript-akylas-sqlite","title":"Akylas Sqlite for NativeScript","description":"Provides SQLite database access for NativeScript apps on Android and iOS. Version 3.0.5 stable. It offers synchronous SQLite operations (must be wrapped in async wrappers manually) and supports CRUD, transactions, and batch execution. Key differentiators: lightweight, no native build tools required, works with NativeScript CLI plugin approach. Compared to alternatives like @nativescript/sqlite, it uses a slightly different API with openOrCreate and deleteDatabase directly. The plugin ships TypeScript types and follows NativeScript plugin conventions. No major breaking changes reported recently, but users often misuse synchronous calls in UI thread.","status":"active","version":"3.0.5","language":"javascript","source_language":"en","source_url":"https://github.com/TestJG/nativescript-akylas-sqlite","tags":["javascript","NativeScript","JavaScript","Android","iOS","typescript"],"install":[{"cmd":"npm install nativescript-akylas-sqlite","lang":"bash","label":"npm"},{"cmd":"yarn add nativescript-akylas-sqlite","lang":"bash","label":"yarn"},{"cmd":"pnpm add nativescript-akylas-sqlite","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"This plugin may be a fork or wrapper over the original nativescript-sqlite; native SQLite binding library","package":"nativescript-sqlite","optional":true}],"imports":[{"note":"ESM import recommended for TypeScript support.","wrong":"const { openOrCreate } = require('nativescript-akylas-sqlite')","symbol":"openOrCreate","correct":"import { openOrCreate } from 'nativescript-akylas-sqlite'"},{"note":"Use named import to avoid CommonJS pitfalls.","wrong":"var deleteDatabase = require('nativescript-akylas-sqlite').deleteDatabase","symbol":"deleteDatabase","correct":"import { deleteDatabase } from 'nativescript-akylas-sqlite'"},{"note":"SqliteDatabase is a named type, not default exported.","wrong":"import SqliteDatabase from 'nativescript-akylas-sqlite'","symbol":"SqliteDatabase (type)","correct":"import { SqliteDatabase } from 'nativescript-akylas-sqlite'"}],"quickstart":{"code":"import { openOrCreate, deleteDatabase } from 'nativescript-akylas-sqlite';\n\nconst db = openOrCreate('myapp.db');\ntry {\n    db.execute('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)');\n    db.execute('INSERT INTO users (name) VALUES (?)', ['Alice']);\n    const results = db.execute('SELECT * FROM users');\n    console.log('Users:', JSON.stringify(results));\n} finally {\n    db.close();\n}\n\n// Delete the database file\ndeleteDatabase('myapp.db');","lang":"typescript","description":"Opens or creates a SQLite database, creates a table, inserts a row, queries data, and deletes the database file."},"warnings":[{"fix":"Use setTimeout or runOnBackgroundThread to avoid blocking UI.","message":"Synchronous API blocks the UI thread - wrap in async/await with background thread","severity":"gotcha","affected_versions":">=3.0.0"},{"fix":"Pass cancelTransaction as parameter and call it to abort transaction.","message":"Transaction callbacks receive cancelTransaction function; calling it rolls back all changes","severity":"gotcha","affected_versions":">=3.0.0"},{"fix":"Switch to nativescript-akylas-sqlite.","message":"The original 'nativescript-sqlite' package is unmaintained; this fork should be used","severity":"deprecated","affected_versions":">=3.0.0"},{"fix":"Use full path like `openOrCreate('./myapp.db')` or use known directories.","message":"Database path must be absolute or relative to app storage; using just filename may fail","severity":"gotcha","affected_versions":">=3.0.0"}],"env_vars":null,"search_vec":"'3.0.5':17 'access':8 'akyla':1 'altern':54 'android':13,96 'api':62 'app':11 'approach':51 'async':28 'batch':36 'break':80 'build':43 'call':89 'chang':81 'cli':49 'compar':52 'convent':77 'crud':33 'databas':7 'deletedatabas':66 'differ':61 'differenti':39 'direct':67 'execut':37 'follow':74 'io':15,97 'javascript':93,95 'key':38 'lightweight':40 'like':55 'major':79 'manual':30 'misus':87 'must':24 'nativ':42 'nativescript':4,10,48,75,94 'nativescript/sqlite':56 'offer':20 'often':86 'openorcr':64 'oper':23 'plugin':50,69,76 'provid':5 'recent':83 'report':82 'requir':45 'ship':70 'slight':60 'sqlite':2,6,22 'stabl':18 'support':32 'synchron':21,88 'thread':92 'tool':44 'transact':34 'type':72 'typescript':71,98 'ui':91 'use':58 'user':85 'version':16 'work':46 'wrap':26 'wrapper':29","created_at":"2026-06-07T12:55:23.720981+00:00","updated_at":"2026-06-07T12:55:23.720981+00:00","problems":[{"fix":"Run `tns plugin add nativescript-akylas-sqlite` and `tns prepare`","cause":"Plugin not installed or platform not prepared","error":"Error: Cannot find module 'nativescript-akylas-sqlite'"},{"fix":"Use exact path `nativescript-akylas-sqlite` (hyphenated)","cause":"Typo or mismatch in import path","error":"No suitable component found for path 'nativescript-akylas-sqlite'"},{"fix":"Check that database was opened successfully and store reference correctly.","cause":"Calling execute on a closed database or wrong object","error":"this.sqlite.execute 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/TestJG/nativescript-akylas-sqlite","github":"https://github.com/TestJG/nativescript-akylas-sqlite","docs":null,"changelog":null,"pypi":null,"npm":"nativescript-akylas-sqlite","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-07","next_check":"2026-09-05","install_tag":null}}