Phase 3 of the cross-project sqlite-migrate adoption — port nanodrop to
consume bchen-sqlite-migrate@v0.1.0. Replaces the inline db.exec(...)
block in src/db/schema.ts with applyMigrations(db, MIGRATIONS_DIR,
{ genesisProbeTable: 'users' }).
The genesis-probe (table 'users' exists) handles pre-existing prod DBs
automatically — first deploy after merge stamps 0001_init as applied
without re-executing, subsequent boots are no-ops.
Adds three npm scripts (db:migrate, db:status, db:stamp) and a
byte-stability test pinning sha256(0001_init.sql) so the migration is
treated as immutable history.
41 lines
1.1 KiB
JSON
41 lines
1.1 KiB
JSON
{
|
|
"name": "nanodrop",
|
|
"version": "1.0.0",
|
|
"description": "Simple file-sharing utility",
|
|
"type": "module",
|
|
"main": "dist/index.js",
|
|
"scripts": {
|
|
"build": "tsc --noEmit",
|
|
"dev": "tsx src/index.ts",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"register-user": "tsx src/cli/register-user.ts",
|
|
"db:migrate": "tsx src/scripts/db-migrate.ts",
|
|
"db:status": "tsx src/scripts/db-status.ts",
|
|
"db:stamp": "tsx src/scripts/db-stamp.ts"
|
|
},
|
|
"author": "",
|
|
"license": "ISC",
|
|
"dependencies": {
|
|
"@fastify/cookie": "^11.0.2",
|
|
"@fastify/formbody": "^8.0.2",
|
|
"@fastify/jwt": "^10.0.0",
|
|
"@fastify/multipart": "^9.4.0",
|
|
"@fastify/rate-limit": "^10.3.0",
|
|
"@fastify/static": "^9.0.0",
|
|
"bchen-sqlite-migrate": "git+https://gitea.bchen.dev/brendan/sqlite-migrate.git#v0.1.0",
|
|
"bcrypt": "^6.0.0",
|
|
"better-sqlite3": "^12.6.2",
|
|
"fastify": "^5.7.4",
|
|
"nanoid": "^5.1.6"
|
|
},
|
|
"devDependencies": {
|
|
"@types/bcrypt": "^6.0.0",
|
|
"@types/better-sqlite3": "^7.6.13",
|
|
"@types/node": "^25.3.3",
|
|
"tsx": "^4.21.0",
|
|
"typescript": "^5.9.3",
|
|
"vitest": "^4.0.18"
|
|
}
|
|
}
|