inray 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +1 -0
- package/README.md +36 -30
- package/dist/cli/src/lib/command.js +8 -8
- package/dist/cli/src/lib/option.js +6 -6
- package/dist/db/postgres/src/bytes.js +1 -0
- package/dist/db/postgres/src/connection.js +1 -0
- package/dist/db/postgres/src/errors.js +1 -0
- package/dist/db/postgres/src/index.js +1 -0
- package/dist/db/postgres/src/large.js +1 -0
- package/dist/db/postgres/src/query.js +1 -0
- package/dist/db/postgres/src/queue.js +1 -0
- package/dist/db/postgres/src/result.js +1 -0
- package/dist/db/postgres/src/subscribe.js +1 -0
- package/dist/db/postgres/src/types.js +1 -0
- package/dist/db-migrator/src/bin.d.ts +3 -0
- package/dist/db-migrator/src/bin.d.ts.map +1 -0
- package/dist/db-migrator/src/bin.js +72 -0
- package/dist/db-migrator/src/bin.js.map +1 -0
- package/dist/db-migrator/src/index.d.ts +5 -0
- package/dist/db-migrator/src/index.d.ts.map +1 -0
- package/dist/db-migrator/src/index.js +4 -0
- package/dist/db-migrator/src/index.js.map +1 -0
- package/dist/db-migrator/src/lib/MigrationError.d.ts +5 -0
- package/dist/db-migrator/src/lib/MigrationError.d.ts.map +1 -0
- package/dist/db-migrator/src/lib/MigrationError.js +12 -0
- package/dist/db-migrator/src/lib/MigrationError.js.map +1 -0
- package/dist/db-migrator/src/lib/clients/index.d.ts +9 -0
- package/dist/db-migrator/src/lib/clients/index.d.ts.map +1 -0
- package/dist/db-migrator/src/lib/clients/index.js +10 -0
- package/dist/db-migrator/src/lib/clients/index.js.map +1 -0
- package/dist/db-migrator/src/lib/clients/postgres.d.ts +3 -0
- package/dist/db-migrator/src/lib/clients/postgres.d.ts.map +1 -0
- package/dist/db-migrator/src/lib/clients/postgres.js +44 -0
- package/dist/db-migrator/src/lib/clients/postgres.js.map +1 -0
- package/dist/db-migrator/src/lib/migrator.log.d.ts +4 -0
- package/dist/db-migrator/src/lib/migrator.log.d.ts.map +1 -0
- package/dist/db-migrator/src/lib/migrator.log.js +46 -0
- package/dist/db-migrator/src/lib/migrator.log.js.map +1 -0
- package/dist/db-migrator/src/lib/migrator.sql.d.ts +5 -0
- package/dist/db-migrator/src/lib/migrator.sql.d.ts.map +1 -0
- package/dist/db-migrator/src/lib/migrator.sql.js +13 -0
- package/dist/db-migrator/src/lib/migrator.sql.js.map +1 -0
- package/dist/db-migrator/src/lib/migrator.types.d.ts +55 -0
- package/dist/db-migrator/src/lib/migrator.types.d.ts.map +1 -0
- package/dist/db-migrator/src/lib/migrator.types.js +2 -0
- package/dist/db-migrator/src/lib/migrator.types.js.map +1 -0
- package/dist/db-migrator/src/lib/util.d.ts +9 -0
- package/dist/db-migrator/src/lib/util.d.ts.map +1 -0
- package/dist/db-migrator/src/lib/util.js +93 -0
- package/dist/db-migrator/src/lib/util.js.map +1 -0
- package/dist/db-migrator/src/migrator.d.ts +6 -0
- package/dist/db-migrator/src/migrator.d.ts.map +1 -0
- package/dist/db-migrator/src/migrator.js +121 -0
- package/dist/db-migrator/src/migrator.js.map +1 -0
- package/dist/utils/mkdirs.d.ts +15 -0
- package/dist/utils/mkdirs.d.ts.map +1 -0
- package/dist/utils/mkdirs.js +42 -0
- package/dist/utils/mkdirs.js.map +1 -0
- package/dist/utils/mod.d.ts +2 -0
- package/dist/utils/mod.d.ts.map +1 -1
- package/dist/utils/mod.js +2 -0
- package/dist/utils/mod.js.map +1 -1
- package/dist/utils/totalist.d.ts +13 -0
- package/dist/utils/totalist.d.ts.map +1 -0
- package/dist/utils/totalist.js +39 -0
- package/dist/utils/totalist.js.map +1 -0
- package/package.json +10 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrator.sql.d.ts","sourceRoot":"","sources":["../../../../src/db-migrator/src/lib/migrator.sql.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;CAWxB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export const MigrationSQL = {
|
|
2
|
+
table: `
|
|
3
|
+
create table if not exists migrations (
|
|
4
|
+
id serial primary key,
|
|
5
|
+
name varchar(255) NOT NULL,
|
|
6
|
+
created_at timestamp NOT NULL
|
|
7
|
+
);
|
|
8
|
+
`,
|
|
9
|
+
exists: `
|
|
10
|
+
select name from migrations order by id asc;
|
|
11
|
+
`
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=migrator.sql.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrator.sql.js","sourceRoot":"","sources":["../../../../src/db-migrator/src/lib/migrator.sql.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,KAAK,EAAE;;;;;;CAMR;IACC,MAAM,EAAE;;CAET;CACA,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export type MigrationMethod = 'up' | 'down';
|
|
2
|
+
export type MigrationFile = {
|
|
3
|
+
/** The absolute file path */
|
|
4
|
+
abs: string;
|
|
5
|
+
/** The relative file path from `opts.dir` */
|
|
6
|
+
name: string;
|
|
7
|
+
};
|
|
8
|
+
export type MigrationExisting = Pick<MigrationFile, 'name'>;
|
|
9
|
+
export type MigratorAvailableDriver = 'postgres';
|
|
10
|
+
export type MigrationConfig = Record<string, unknown> & {
|
|
11
|
+
driver?: MigratorAvailableDriver;
|
|
12
|
+
};
|
|
13
|
+
export type MigrationOptionsBase = {
|
|
14
|
+
cwd?: string;
|
|
15
|
+
/** Built-in driver name, or a custom driver object. Defaults to `"postgres"`. */
|
|
16
|
+
driver?: MigratorAvailableDriver | IMigrationDriver;
|
|
17
|
+
config?: MigrationConfig;
|
|
18
|
+
dir?: string;
|
|
19
|
+
};
|
|
20
|
+
export type MigrationOptionsUp = MigrationOptionsBase & {
|
|
21
|
+
single?: boolean;
|
|
22
|
+
};
|
|
23
|
+
export type MigrationOptionsDown = MigrationOptionsBase & {
|
|
24
|
+
all?: boolean;
|
|
25
|
+
};
|
|
26
|
+
export type MigrationOptionsNew = MigrationOptionsBase & {
|
|
27
|
+
filename: string;
|
|
28
|
+
timestamp?: boolean;
|
|
29
|
+
length?: number;
|
|
30
|
+
};
|
|
31
|
+
/** Client passed to `up` / `down`. Widen this union when more drivers are added. */
|
|
32
|
+
export type MigratorDbClient = any;
|
|
33
|
+
export interface IMigrationDriver {
|
|
34
|
+
/**
|
|
35
|
+
* Create a new Database Client connection using supplied options/config.
|
|
36
|
+
* @important Must return the `MigratorDbClient` for further usage.
|
|
37
|
+
*/
|
|
38
|
+
connect(config?: MigrationConfig): Promise<MigratorDbClient> | MigratorDbClient;
|
|
39
|
+
/**
|
|
40
|
+
* Create `migrations` table and query for existing/applied migrations.
|
|
41
|
+
* @important Must return the `name` of any existing migrations.
|
|
42
|
+
*/
|
|
43
|
+
setup(dbClient: MigratorDbClient): Promise<MigrationExisting[]>;
|
|
44
|
+
/**
|
|
45
|
+
* Loop `files` and apply the target `method` action.
|
|
46
|
+
* @note Whenever possible, *all* files should partake in the same transaction.
|
|
47
|
+
*/
|
|
48
|
+
loop(dbClient: MigratorDbClient, files: MigrationFile[], method: MigrationMethod): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Gracefully terminate your client.
|
|
51
|
+
* Runs after *all* migrations have been applied, or after an error is thrown.
|
|
52
|
+
*/
|
|
53
|
+
end(dbClient: MigratorDbClient): Promise<void> | void;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=migrator.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrator.types.d.ts","sourceRoot":"","sources":["../../../../src/db-migrator/src/lib/migrator.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,MAAM,CAAC;AAE5C,MAAM,MAAM,aAAa,GAAG;IAC1B,6BAA6B;IAC7B,GAAG,EAAE,MAAM,CAAC;IAEZ,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AAE5D,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC;AAEjD,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACtD,MAAM,CAAC,EAAE,uBAAuB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,MAAM,CAAC,EAAE,uBAAuB,GAAG,gBAAgB,CAAC;IACpD,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,GAAG;IACtD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,GAAG;IACxD,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,GAAG;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,oFAAoF;AACpF,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAEnC,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;IAEhF;;;OAGG;IACH,KAAK,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAEhE;;;OAGG;IACH,IAAI,CAAC,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjG;;;OAGG;IACH,GAAG,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACvD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrator.types.js","sourceRoot":"","sources":["../../../../src/db-migrator/src/lib/migrator.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { IMigrationDriver, MigrationConfig, MigrationExisting, MigrationFile } from './migrator.types.ts';
|
|
2
|
+
export type MigrationConfigSource = MigrationConfig | (() => MigrationConfig | Promise<MigrationConfig>);
|
|
3
|
+
export declare function glob(dir: string): Promise<MigrationFile[]>;
|
|
4
|
+
export declare function diff<T extends MigrationExisting>(prevs: (MigrationExisting | MigrationFile)[], nexts: T[]): T[];
|
|
5
|
+
export declare function pluck<T extends MigrationExisting>(prevs: (MigrationExisting | MigrationFile)[], nexts: T[]): T[];
|
|
6
|
+
export declare function load(id: string): Promise<Record<string, unknown>>;
|
|
7
|
+
export declare function isDriver(ctx: unknown): asserts ctx is IMigrationDriver;
|
|
8
|
+
export declare function toConfig(str: string | undefined, cwd?: string): Promise<MigrationConfigSource | undefined>;
|
|
9
|
+
//# sourceMappingURL=util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/db-migrator/src/lib/util.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE/G,MAAM,MAAM,qBAAqB,GAAG,eAAe,GAAG,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;AAEzG,wBAAsB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAYhE;AAED,wBAAgB,IAAI,CAAC,CAAC,SAAS,iBAAiB,EAAE,KAAK,EAAE,CAAC,iBAAiB,GAAG,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAW/G;AAED,wBAAgB,KAAK,CAAC,CAAC,SAAS,iBAAiB,EAAE,KAAK,EAAE,CAAC,iBAAiB,GAAG,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAchH;AAED,wBAAsB,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAKvE;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,IAAI,gBAAgB,CAUtE;AAED,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAahH"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
2
|
+
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
3
|
+
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
4
|
+
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
5
|
+
});
|
|
6
|
+
}
|
|
7
|
+
return path;
|
|
8
|
+
};
|
|
9
|
+
import { existsSync } from 'node:fs';
|
|
10
|
+
import { resolve } from 'node:path';
|
|
11
|
+
import { pathToFileURL } from 'node:url';
|
|
12
|
+
import { totalist } from "../../../utils/totalist.js";
|
|
13
|
+
export async function glob(dir) {
|
|
14
|
+
const output = [];
|
|
15
|
+
const rgx = /\.[cm]?[tj]s$/;
|
|
16
|
+
try {
|
|
17
|
+
await totalist(dir, (name, abs) => {
|
|
18
|
+
if (rgx.test(name))
|
|
19
|
+
output.push({ name, abs });
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
catch (err) {
|
|
23
|
+
if (isErrno(err) && err.code === 'ENOENT')
|
|
24
|
+
return [];
|
|
25
|
+
throw err;
|
|
26
|
+
}
|
|
27
|
+
return output.sort((a, b) => a.name.localeCompare(b.name, undefined, { numeric: true }));
|
|
28
|
+
}
|
|
29
|
+
export function diff(prevs, nexts) {
|
|
30
|
+
const out = [];
|
|
31
|
+
for (let i = 0; i < nexts.length; i++) {
|
|
32
|
+
const tmp = nexts[i];
|
|
33
|
+
const ran = prevs[i];
|
|
34
|
+
if (!ran)
|
|
35
|
+
out.push(tmp);
|
|
36
|
+
else if (tmp.name === ran.name)
|
|
37
|
+
continue;
|
|
38
|
+
else
|
|
39
|
+
throw new Error(`Cannot run "${tmp.name}" after "${ran.name}" has been applied`);
|
|
40
|
+
}
|
|
41
|
+
return out;
|
|
42
|
+
}
|
|
43
|
+
export function pluck(prevs, nexts) {
|
|
44
|
+
const out = [];
|
|
45
|
+
outer: for (let i = 0; i < prevs.length; i++) {
|
|
46
|
+
const ran = prevs[i];
|
|
47
|
+
for (let j = i; j < nexts.length; j++) {
|
|
48
|
+
const tmp = nexts[j];
|
|
49
|
+
if (tmp.name === ran.name) {
|
|
50
|
+
out.push(tmp);
|
|
51
|
+
continue outer;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
throw new Error(`Cannot find "${ran.name}" migration file`);
|
|
55
|
+
}
|
|
56
|
+
return out;
|
|
57
|
+
}
|
|
58
|
+
export async function load(id) {
|
|
59
|
+
const m = await import(__rewriteRelativeImportExtension(pathToFileURL(id).href));
|
|
60
|
+
const mod = m.default ?? m;
|
|
61
|
+
if (mod && typeof mod === 'object')
|
|
62
|
+
return mod;
|
|
63
|
+
return {};
|
|
64
|
+
}
|
|
65
|
+
export function isDriver(ctx) {
|
|
66
|
+
if (ctx === null || typeof ctx !== 'object') {
|
|
67
|
+
throw new Error(`Driver must have "connect" function`);
|
|
68
|
+
}
|
|
69
|
+
const rec = ctx;
|
|
70
|
+
for (const key of ['connect', 'setup', 'loop', 'end']) {
|
|
71
|
+
if (typeof rec[key] !== 'function') {
|
|
72
|
+
throw new Error(`Driver must have "${key}" function`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
export async function toConfig(str, cwd) {
|
|
77
|
+
if (!str)
|
|
78
|
+
return undefined;
|
|
79
|
+
const resolved = resolve(cwd || '.', str);
|
|
80
|
+
const candidates = /\.js$/.test(str)
|
|
81
|
+
? ['.js', '.mjs', '.cjs', '.ts'].map((ext) => resolved.replace(/\.js$/, ext))
|
|
82
|
+
: [resolved];
|
|
83
|
+
for (const file of candidates) {
|
|
84
|
+
if (!existsSync(file))
|
|
85
|
+
continue;
|
|
86
|
+
const m = await import(__rewriteRelativeImportExtension(pathToFileURL(file).href));
|
|
87
|
+
return (m.default ?? m);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
function isErrno(err) {
|
|
91
|
+
return Boolean(err && typeof err === 'object' && 'code' in err);
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../src/db-migrator/src/lib/util.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { MigrationOptionsBase, MigrationOptionsDown, MigrationOptionsNew, MigrationOptionsUp } from './lib/migrator.types.ts';
|
|
2
|
+
export declare function up(opts?: MigrationOptionsUp): Promise<string[]>;
|
|
3
|
+
export declare function down(opts?: MigrationOptionsDown): Promise<string[]>;
|
|
4
|
+
export declare function status(opts?: MigrationOptionsBase): Promise<string[]>;
|
|
5
|
+
export declare function create(opts: MigrationOptionsNew): Promise<string>;
|
|
6
|
+
//# sourceMappingURL=migrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrator.d.ts","sourceRoot":"","sources":["../../../src/db-migrator/src/migrator.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGV,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAGnB,MAAM,yBAAyB,CAAC;AAmCjC,wBAAsB,EAAE,CAAC,IAAI,GAAE,kBAAuB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAiBzE;AAED,wBAAsB,IAAI,CAAC,IAAI,GAAE,oBAAyB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAwB7E;AAED,wBAAsB,MAAM,CAAC,IAAI,GAAE,oBAAyB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAW/E;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAsCvE"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { join, resolve } from 'node:path';
|
|
2
|
+
import { writeFileSync } from 'node:fs';
|
|
3
|
+
import { mkdirs } from "../../utils/mkdirs.js";
|
|
4
|
+
import { clients } from "./lib/clients/index.js";
|
|
5
|
+
import * as $ from "./lib/util.js";
|
|
6
|
+
const DEFAULT_DIR = 'migrations';
|
|
7
|
+
function isAvailableDriver(name) {
|
|
8
|
+
return typeof name === 'string' && Object.hasOwn(clients, name);
|
|
9
|
+
}
|
|
10
|
+
function resolveDriver(opts) {
|
|
11
|
+
const option = opts.driver ?? opts.config?.driver;
|
|
12
|
+
if (option !== undefined && typeof option !== 'string') {
|
|
13
|
+
$.isDriver(option);
|
|
14
|
+
return option;
|
|
15
|
+
}
|
|
16
|
+
const name = option ?? 'postgres';
|
|
17
|
+
if (!isAvailableDriver(name)) {
|
|
18
|
+
throw new Error(`Unknown database driver "${String(name)}"`);
|
|
19
|
+
}
|
|
20
|
+
return clients[name];
|
|
21
|
+
}
|
|
22
|
+
async function listMigrations(opts) {
|
|
23
|
+
const cwd = resolve(opts.cwd || '.');
|
|
24
|
+
const dir = join(cwd, opts.dir ?? DEFAULT_DIR);
|
|
25
|
+
const migrations = await $.glob(dir);
|
|
26
|
+
return { dir, migrations };
|
|
27
|
+
}
|
|
28
|
+
async function parse(opts) {
|
|
29
|
+
const { migrations } = await listMigrations(opts);
|
|
30
|
+
return { driver: resolveDriver(opts), migrations };
|
|
31
|
+
}
|
|
32
|
+
export async function up(opts = {}) {
|
|
33
|
+
let client;
|
|
34
|
+
const { driver, migrations } = await parse(opts);
|
|
35
|
+
try {
|
|
36
|
+
client = await driver.connect(opts.config);
|
|
37
|
+
const exists = await driver.setup(client);
|
|
38
|
+
const fresh = $.diff(exists, migrations);
|
|
39
|
+
if (!fresh.length)
|
|
40
|
+
return [];
|
|
41
|
+
const toRun = opts.single ? fresh.slice(0, 1) : fresh;
|
|
42
|
+
await driver.loop(client, toRun, 'up');
|
|
43
|
+
return toRun.map((x) => x.name);
|
|
44
|
+
}
|
|
45
|
+
finally {
|
|
46
|
+
if (client)
|
|
47
|
+
await driver.end(client);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
export async function down(opts = {}) {
|
|
51
|
+
let client;
|
|
52
|
+
const { driver, migrations } = await parse(opts);
|
|
53
|
+
try {
|
|
54
|
+
client = await driver.connect(opts.config);
|
|
55
|
+
const exists = await driver.setup(client);
|
|
56
|
+
if (!exists.length)
|
|
57
|
+
return [];
|
|
58
|
+
exists.reverse();
|
|
59
|
+
migrations.reverse();
|
|
60
|
+
const last = exists[0];
|
|
61
|
+
if (!last)
|
|
62
|
+
return [];
|
|
63
|
+
const idx = migrations.findIndex((x) => x.name === last.name);
|
|
64
|
+
if (idx === -1)
|
|
65
|
+
throw new Error(`Unknown "${last.name}" migration`);
|
|
66
|
+
const toRun = $.pluck(opts.all ? exists : [last], migrations.slice(idx));
|
|
67
|
+
await driver.loop(client, toRun, 'down');
|
|
68
|
+
return toRun.map((x) => x.name);
|
|
69
|
+
}
|
|
70
|
+
finally {
|
|
71
|
+
if (client)
|
|
72
|
+
await driver.end(client);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
export async function status(opts = {}) {
|
|
76
|
+
let client;
|
|
77
|
+
const { driver, migrations } = await parse(opts);
|
|
78
|
+
try {
|
|
79
|
+
client = await driver.connect(opts.config);
|
|
80
|
+
const exists = await driver.setup(client);
|
|
81
|
+
return $.diff(exists, migrations).map((x) => x.name);
|
|
82
|
+
}
|
|
83
|
+
finally {
|
|
84
|
+
if (client)
|
|
85
|
+
await driver.end(client);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
export async function create(opts) {
|
|
89
|
+
if (!opts.filename?.trim()) {
|
|
90
|
+
throw new Error('Migration filename is required');
|
|
91
|
+
}
|
|
92
|
+
const { dir, migrations } = await listMigrations(opts);
|
|
93
|
+
const optsLength = Math.max(1, Number(opts.length ?? 5) || 5);
|
|
94
|
+
let prefix = '';
|
|
95
|
+
if (opts.timestamp) {
|
|
96
|
+
prefix += (Date.now() / 1e3) | 0;
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
const last = migrations.at(-1);
|
|
100
|
+
const match = last?.name.match(/^\d+/);
|
|
101
|
+
prefix = match ? String(Number.parseInt(match[0], 10) + 1).padStart(optsLength, '0') : '0'.repeat(optsLength);
|
|
102
|
+
}
|
|
103
|
+
let filename = prefix + '-' + opts.filename.replace(/\s+/g, '-');
|
|
104
|
+
if (!/\.\w+$/.test(filename))
|
|
105
|
+
filename += '.ts';
|
|
106
|
+
await mkdirs(dir);
|
|
107
|
+
writeFileSync(join(dir, filename), [
|
|
108
|
+
`import type { MigratorDbClient } from "inray/db-migrator";`,
|
|
109
|
+
``,
|
|
110
|
+
`export async function up(client: MigratorDbClient): Promise<void> {`,
|
|
111
|
+
``,
|
|
112
|
+
`}`,
|
|
113
|
+
``,
|
|
114
|
+
`export async function down(client: MigratorDbClient): Promise<void> {`,
|
|
115
|
+
``,
|
|
116
|
+
`}`,
|
|
117
|
+
``
|
|
118
|
+
].join('\n'));
|
|
119
|
+
return filename;
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=migrator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrator.js","sourceRoot":"","sources":["../../../src/db-migrator/src/migrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Original library: mk-dirs (3.0.0)
|
|
3
|
+
* - Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)
|
|
4
|
+
*
|
|
5
|
+
* Modified and integrated in "Inray":
|
|
6
|
+
* - Evgeniy Bushin
|
|
7
|
+
*/
|
|
8
|
+
/***/
|
|
9
|
+
export interface MkdirsOptions {
|
|
10
|
+
cwd: string;
|
|
11
|
+
mode: number;
|
|
12
|
+
}
|
|
13
|
+
export declare function mkdirs(filepath: string, options?: Partial<MkdirsOptions>): Promise<string>;
|
|
14
|
+
export declare function mkdirsSync(filepath: string, options?: Partial<MkdirsOptions>): string;
|
|
15
|
+
//# sourceMappingURL=mkdirs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mkdirs.d.ts","sourceRoot":"","sources":["../../src/utils/mkdirs.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,KAAK;AAML,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAqBD,wBAAsB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAMhG;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,MAAM,CAMrF"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Original library: mk-dirs (3.0.0)
|
|
3
|
+
* - Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)
|
|
4
|
+
*
|
|
5
|
+
* Modified and integrated in "Inray":
|
|
6
|
+
* - Evgeniy Bushin
|
|
7
|
+
*/
|
|
8
|
+
/***/
|
|
9
|
+
import { mkdirSync, existsSync, statSync } from 'node:fs';
|
|
10
|
+
import { mkdir } from 'node:fs/promises';
|
|
11
|
+
import { parse, resolve } from 'node:path';
|
|
12
|
+
function throws(code, msg, path) {
|
|
13
|
+
const err = new Error(code + ': ' + msg);
|
|
14
|
+
err.code = code;
|
|
15
|
+
err.path = path;
|
|
16
|
+
throw err;
|
|
17
|
+
}
|
|
18
|
+
function assertWin32Path(filepath) {
|
|
19
|
+
if (process.platform === 'win32' && /[<>:"|?*]/.test(filepath.replace(parse(filepath).root, ''))) {
|
|
20
|
+
throws('EINVAL', 'invalid characters', filepath);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function assertNotFile(path) {
|
|
24
|
+
if (existsSync(path) && !statSync(path).isDirectory()) {
|
|
25
|
+
throws('ENOTDIR', 'not a directory', path);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export async function mkdirs(filepath, options) {
|
|
29
|
+
assertWin32Path(filepath);
|
|
30
|
+
const dir = resolve(options?.cwd || '.', filepath);
|
|
31
|
+
assertNotFile(dir);
|
|
32
|
+
await mkdir(dir, { recursive: true, mode: options?.mode ?? 0o777 });
|
|
33
|
+
return dir;
|
|
34
|
+
}
|
|
35
|
+
export function mkdirsSync(filepath, options) {
|
|
36
|
+
assertWin32Path(filepath);
|
|
37
|
+
const dir = resolve(options?.cwd || '.', filepath);
|
|
38
|
+
assertNotFile(dir);
|
|
39
|
+
mkdirSync(dir, { recursive: true, mode: options?.mode ?? 0o777 });
|
|
40
|
+
return dir;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=mkdirs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mkdirs.js","sourceRoot":"","sources":["../../src/utils/mkdirs.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,KAAK;AAEL,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAO3C,SAAS,MAAM,CAAC,IAAY,EAAE,GAAW,EAAE,IAAY;IACrD,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;IACxC,GAA6B,CAAC,IAAI,GAAG,IAAI,CAAC;IAC1C,GAA6B,CAAC,IAAI,GAAG,IAAI,CAAC;IAC3C,MAAM,GAAG,CAAC;AACZ,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB;IACvC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;QACjG,MAAM,CAAC,QAAQ,EAAE,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACtD,MAAM,CAAC,SAAS,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,QAAgB,EAAE,OAAgC;IAC7E,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,EAAE,QAAQ,CAAC,CAAC;IACnD,aAAa,CAAC,GAAG,CAAC,CAAC;IACnB,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;IACpE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAAgB,EAAE,OAAgC;IAC3E,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,EAAE,QAAQ,CAAC,CAAC;IACnD,aAAa,CAAC,GAAG,CAAC,CAAC;IACnB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;IAClE,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/dist/utils/mod.d.ts
CHANGED
|
@@ -10,4 +10,6 @@ export { SequentialCompensation, CompensatedOperation } from './SequentialCompen
|
|
|
10
10
|
export { type Serial } from './serial.ts';
|
|
11
11
|
export { type SortDirection, SortDirections } from './sortDirection.ts';
|
|
12
12
|
export { TaskQueue } from './TaskQueue.ts';
|
|
13
|
+
export { type MkdirsOptions, mkdirs, mkdirsSync } from './mkdirs.ts';
|
|
14
|
+
export { type TotalistCaller, totalist, totalistSync } from './totalist.ts';
|
|
13
15
|
//# sourceMappingURL=mod.d.ts.map
|
package/dist/utils/mod.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/utils/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,KAAK,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/utils/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,KAAK,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,KAAK,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/utils/mod.js
CHANGED
|
@@ -10,4 +10,6 @@ export { SequentialCompensation, CompensatedOperation } from "./SequentialCompen
|
|
|
10
10
|
export {} from "./serial.js";
|
|
11
11
|
export { SortDirections } from "./sortDirection.js";
|
|
12
12
|
export { TaskQueue } from "./TaskQueue.js";
|
|
13
|
+
export { mkdirs, mkdirsSync } from "./mkdirs.js";
|
|
14
|
+
export { totalist, totalistSync } from "./totalist.js";
|
|
13
15
|
//# sourceMappingURL=mod.js.map
|
package/dist/utils/mod.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../src/utils/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAmB,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAgD,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAe,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAsB,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../src/utils/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAmB,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAgD,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAe,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAsB,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAsB,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAuB,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Original library: totalist (2.0.0)
|
|
3
|
+
* - Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)
|
|
4
|
+
*
|
|
5
|
+
* Modified and integrated in "Inray":
|
|
6
|
+
* - Evgeniy Bushin
|
|
7
|
+
*/
|
|
8
|
+
/***/
|
|
9
|
+
import { Stats } from 'node:fs';
|
|
10
|
+
export type TotalistCaller = (relPath: string, absPath: string, stats: Stats) => any;
|
|
11
|
+
export declare function totalist(dir: string, callback: TotalistCaller, prefix?: string): Promise<void>;
|
|
12
|
+
export declare function totalistSync(dir: string, callback: TotalistCaller, prefix?: string): void;
|
|
13
|
+
//# sourceMappingURL=totalist.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"totalist.d.ts","sourceRoot":"","sources":["../../src/utils/totalist.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,KAAK;AAGL,OAAO,EAAwC,KAAK,EAAE,MAAM,SAAS,CAAC;AAMtE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,GAAG,CAAC;AAErF,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,SAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAchG;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,SAAK,GAAG,IAAI,CAarF"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Original library: totalist (2.0.0)
|
|
3
|
+
* - Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)
|
|
4
|
+
*
|
|
5
|
+
* Modified and integrated in "Inray":
|
|
6
|
+
* - Evgeniy Bushin
|
|
7
|
+
*/
|
|
8
|
+
/***/
|
|
9
|
+
import { join, resolve } from 'node:path';
|
|
10
|
+
import { readdir, readdirSync, stat, statSync, Stats } from 'node:fs';
|
|
11
|
+
import { promisify } from 'node:util';
|
|
12
|
+
const toStats = promisify(stat);
|
|
13
|
+
const toRead = promisify(readdir);
|
|
14
|
+
export async function totalist(dir, callback, prefix = '') {
|
|
15
|
+
dir = resolve('.', dir);
|
|
16
|
+
await toRead(dir).then((arr) => {
|
|
17
|
+
return Promise.all(arr.map((str) => {
|
|
18
|
+
let abs = join(dir, str);
|
|
19
|
+
return toStats(abs).then((stats) => {
|
|
20
|
+
return stats.isDirectory()
|
|
21
|
+
? totalist(abs, callback, join(prefix, str))
|
|
22
|
+
: callback(join(prefix, str), abs, stats);
|
|
23
|
+
});
|
|
24
|
+
}));
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
export function totalistSync(dir, callback, prefix = '') {
|
|
28
|
+
dir = resolve('.', dir);
|
|
29
|
+
let arr = readdirSync(dir);
|
|
30
|
+
let i = 0, abs, stats;
|
|
31
|
+
for (; i < arr.length; i++) {
|
|
32
|
+
abs = join(dir, arr[i]);
|
|
33
|
+
stats = statSync(abs);
|
|
34
|
+
stats.isDirectory()
|
|
35
|
+
? totalistSync(abs, callback, join(prefix, arr[i]))
|
|
36
|
+
: callback(join(prefix, arr[i]), abs, stats);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=totalist.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"totalist.js","sourceRoot":"","sources":["../../src/utils/totalist.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,KAAK;AAEL,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAChC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AAIlC,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,QAAwB,EAAE,MAAM,GAAG,EAAE;IAC/E,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxB,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;QAC7B,OAAO,OAAO,CAAC,GAAG,CAChB,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACd,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACzB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjC,OAAO,KAAK,CAAC,WAAW,EAAE;oBACxB,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;oBAC5C,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,QAAwB,EAAE,MAAM,GAAG,EAAE;IAC7E,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxB,IAAI,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,GAAG,CAAC,EACP,GAAG,EACH,KAAK,CAAC;IACR,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtB,KAAK,CAAC,WAAW,EAAE;YACjB,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "inray",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.6",
|
|
4
4
|
"description": "Inray SDK",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|
|
@@ -47,11 +47,14 @@
|
|
|
47
47
|
"test:yaml": "vitest run --project yaml",
|
|
48
48
|
"precompile": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"",
|
|
49
49
|
"compile": "tsc --build tsconfig.build.json",
|
|
50
|
-
"bundle:postgres": "node -e \"const fs=require('node:fs'); fs.mkdirSync('dist/db',{recursive:true}); fs.cpSync('src/db/postgres','dist/db/postgres',{recursive:true})\"",
|
|
50
|
+
"bundle:postgres": "node -e \"const fs=require('node:fs'); fs.rmSync('dist/db',{recursive:true, force: true }); fs.mkdirSync('dist/db',{recursive:true}); fs.cpSync('src/db/postgres','dist/db/postgres',{recursive:true})\"",
|
|
51
51
|
"build": "npm run precompile && npm run compile && npm run bundle:postgres",
|
|
52
52
|
"prepare": "npm run build",
|
|
53
53
|
"prettier": "prettier --write ."
|
|
54
54
|
},
|
|
55
|
+
"bin": {
|
|
56
|
+
"inray-migrator": "./dist/db-migrator/src/bin.js"
|
|
57
|
+
},
|
|
55
58
|
"exports": {
|
|
56
59
|
"./async": {
|
|
57
60
|
"types": "./dist/async/mod.d.ts",
|
|
@@ -109,6 +112,10 @@
|
|
|
109
112
|
"types": "./dist/db/postgres/types/index.d.ts",
|
|
110
113
|
"import": "./dist/db/postgres/src/index.js"
|
|
111
114
|
},
|
|
115
|
+
"./db-migrator": {
|
|
116
|
+
"types": "./dist/db-migrator/types/index.d.ts",
|
|
117
|
+
"import": "./dist/db-migrator/src/index.js"
|
|
118
|
+
},
|
|
112
119
|
"./encoding": {
|
|
113
120
|
"types": "./dist/encoding/mod.d.ts",
|
|
114
121
|
"import": "./dist/encoding/mod.js"
|
|
@@ -645,7 +652,7 @@
|
|
|
645
652
|
"prettier": "^3.9.4",
|
|
646
653
|
"typescript": "^6.0.3",
|
|
647
654
|
"vitest": "^4.1.11",
|
|
648
|
-
"undici": "^7.
|
|
655
|
+
"undici": "^7.30.0",
|
|
649
656
|
"ws": "^8.21.3"
|
|
650
657
|
}
|
|
651
658
|
}
|