feat(smartmigration): add initial smartmigration package with MongoDB and S3 migration runner

This commit is contained in:
2026-04-07 17:35:05 +00:00
commit d96c6bcee8
33 changed files with 11443 additions and 0 deletions

25
ts/plugins.ts Normal file
View File

@@ -0,0 +1,25 @@
// node native scope
import { randomUUID } from 'node:crypto';
export { randomUUID };
// pushrocks scope
import * as smartlog from '@push.rocks/smartlog';
import * as smartlogDestinationLocal from '@push.rocks/smartlog/destination-local';
import * as smartversion from '@push.rocks/smartversion';
export { smartlog, smartlogDestinationLocal, smartversion };
// optional pushrocks peers — type-only imports so the module compiles even
// when end users only install one of them. The type-import loads the .d.ts
// at compile time but emits no runtime require/import. Both packages are
// devDeps locally so the build can resolve them.
import type * as smartdata from '@push.rocks/smartdata';
import type * as smartbucket from '@push.rocks/smartbucket';
export type { smartdata, smartbucket };
// Driver types are derived from the smartdata / smartbucket public surface
// to avoid having to declare `mongodb` or `@aws-sdk/client-s3` as direct
// dependencies. These aliases are exported for use in the public interfaces.
export type TRawMongoDb = smartdata.SmartdataDb['mongoDb'];
export type TRawMongoClient = smartdata.SmartdataDb['mongoDbClient'];
export type TMongoClientSession = ReturnType<smartdata.SmartdataDb['startSession']>;
export type TRawS3Client = smartbucket.SmartBucket['storageClient'];