fastypest 1.3.10 → 1.4.1

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.
Files changed (34) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/core/config.d.ts +2 -0
  3. package/dist/core/config.js +8 -0
  4. package/dist/core/config.js.map +1 -0
  5. package/dist/core/fastypest.d.ts +16 -11
  6. package/dist/core/fastypest.js +133 -45
  7. package/dist/core/fastypest.js.map +1 -1
  8. package/dist/core/sql-script/queries/cockroachdb.json +5 -2
  9. package/dist/core/sql-script/queries/index.d.ts +12 -0
  10. package/dist/core/sql-script/queries/mysql.query.json +4 -1
  11. package/dist/core/sql-script/queries/postgres.query.json +7 -4
  12. package/dist/core/sql-script/sql-script.d.ts +6 -5
  13. package/dist/core/sql-script/sql-script.js +7 -4
  14. package/dist/core/sql-script/sql-script.js.map +1 -1
  15. package/dist/core/types.d.ts +28 -0
  16. package/dist/core/types.js +3 -0
  17. package/dist/core/types.js.map +1 -0
  18. package/package.json +8 -8
  19. package/.pnp.loader.mjs +0 -2110
  20. package/.yarn/releases/yarn-4.2.2.cjs +0 -894
  21. package/.yarn/sdks/eslint/bin/eslint.js +0 -20
  22. package/.yarn/sdks/eslint/lib/api.js +0 -20
  23. package/.yarn/sdks/eslint/lib/unsupported-api.js +0 -20
  24. package/.yarn/sdks/eslint/package.json +0 -14
  25. package/.yarn/sdks/integrations.yml +0 -5
  26. package/.yarn/sdks/typescript/bin/tsc +0 -20
  27. package/.yarn/sdks/typescript/bin/tsserver +0 -20
  28. package/.yarn/sdks/typescript/lib/tsc.js +0 -20
  29. package/.yarn/sdks/typescript/lib/tsserver.js +0 -232
  30. package/.yarn/sdks/typescript/lib/tsserverlibrary.js +0 -232
  31. package/.yarn/sdks/typescript/lib/typescript.js +0 -20
  32. package/.yarn/sdks/typescript/package.json +0 -10
  33. package/.yarnrc.yml +0 -1
  34. package/eslint.config.mjs +0 -28
package/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [1.4.1](https://github.com/juanjoGonDev/fastypest/compare/v1.4.0...v1.4.1) (2024-05-28)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **npm:** husky not found ([cfa9a49](https://github.com/juanjoGonDev/fastypest/commit/cfa9a49344177959fa13e72e996501ff61efaed5))
11
+
5
12
  ### [1.3.10](https://github.com/juanjoGonDev/fastypest/compare/v1.3.0...v1.3.10) (2024-05-21)
6
13
 
7
14
 
@@ -0,0 +1,2 @@
1
+ import { DBType } from "./types";
2
+ export declare const INDEX_OFFSET_CONFIG: Partial<Record<DBType, number>>;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.INDEX_OFFSET_CONFIG = void 0;
4
+ exports.INDEX_OFFSET_CONFIG = {
5
+ postgres: 1,
6
+ cockroachdb: 0,
7
+ };
8
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":";;;AAEa,QAAA,mBAAmB,GAAoC;IAClE,QAAQ,EAAE,CAAC;IACX,WAAW,EAAE,CAAC;CACf,CAAC"}
@@ -1,21 +1,26 @@
1
1
  import { Connection, DataSource, EntityManager } from "typeorm";
2
2
  import { SQLScript } from "./sql-script";
3
- interface Manager {
4
- foreignKey: {
5
- disable: () => Promise<string | object>;
6
- enable: () => Promise<string | object>;
7
- };
8
- dependencyTree: () => Promise<Set<string> | undefined>;
9
- }
3
+ import { Manager } from "./types";
10
4
  export declare class Fastypest extends SQLScript {
11
5
  private manager;
12
6
  private tables;
7
+ private tablesWithAutoIncrement;
8
+ private restoreInOder;
13
9
  constructor(connection: DataSource | Connection);
14
10
  init(): Promise<void>;
15
- detectTables(em: EntityManager): Promise<void>;
11
+ private createTempTable;
12
+ private detectTablesWithAutoIncrement;
13
+ private processTable;
14
+ private getColumnsWithAutoIncrement;
15
+ private processColumn;
16
+ private getMaxColumnIndex;
17
+ private getSequenceName;
18
+ private updateTablesWithAutoIncrement;
16
19
  restoreData(): Promise<void>;
20
+ protected restoreManager(em: EntityManager): Promise<Manager>;
21
+ private calculateDependencyTables;
22
+ private detectTables;
17
23
  private restoreOrder;
18
- restoreManager(em: EntityManager): Promise<Manager>;
19
- clearTempTables(): Promise<void>;
24
+ private recreateData;
25
+ private resetAutoIncrementColumns;
20
26
  }
21
- export {};
@@ -10,60 +10,104 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.Fastypest = void 0;
13
+ const config_1 = require("./config");
13
14
  const sql_script_1 = require("./sql-script");
14
15
  class Fastypest extends sql_script_1.SQLScript {
15
16
  constructor(connection) {
16
17
  super(connection.options.type);
17
18
  this.tables = new Set();
19
+ this.tablesWithAutoIncrement = new Map();
20
+ this.restoreInOder = false;
18
21
  this.manager = connection.manager;
19
22
  }
20
23
  init() {
21
24
  return __awaiter(this, void 0, void 0, function* () {
22
25
  yield this.manager.transaction((em) => __awaiter(this, void 0, void 0, function* () {
23
26
  yield this.detectTables(em);
24
- yield Promise.all([...this.tables].map((tableName) => __awaiter(this, void 0, void 0, function* () {
25
- yield em.query(this.getQuery("createTempTable", { tableName }));
26
- })));
27
+ yield this.calculateDependencyTables(em);
28
+ const tables = [...this.tables];
29
+ yield Promise.all([
30
+ this.createTempTable(em, tables),
31
+ this.detectTablesWithAutoIncrement(em, tables),
32
+ ]);
27
33
  }));
28
34
  });
29
35
  }
30
- detectTables(em) {
36
+ createTempTable(em, tables) {
31
37
  return __awaiter(this, void 0, void 0, function* () {
32
- (yield em.query(this.getQuery("getTables"))).map((row) => {
33
- this.tables.add(row.name);
38
+ yield Promise.all(tables.map((tableName) => __awaiter(this, void 0, void 0, function* () {
39
+ yield this.execQuery(em, "createTempTable", { tableName });
40
+ })));
41
+ });
42
+ }
43
+ detectTablesWithAutoIncrement(em, tables) {
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ for (const tableName of tables) {
46
+ yield this.processTable(em, tableName);
47
+ }
48
+ });
49
+ }
50
+ processTable(em, tableName) {
51
+ return __awaiter(this, void 0, void 0, function* () {
52
+ const columns = yield this.getColumnsWithAutoIncrement(em, tableName);
53
+ if (!columns)
54
+ return;
55
+ for (const column of columns) {
56
+ yield this.processColumn(em, tableName, column);
57
+ }
58
+ });
59
+ }
60
+ getColumnsWithAutoIncrement(em, tableName) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ const columns = yield this.execQuery(em, "getColumnsWithAutoIncrement", { tableName });
63
+ return Array.isArray(columns) ? columns : null;
64
+ });
65
+ }
66
+ processColumn(em, tableName, column) {
67
+ return __awaiter(this, void 0, void 0, function* () {
68
+ var _a;
69
+ const stat = yield this.getMaxColumnIndex(em, tableName, column.column_name);
70
+ const sequenceName = this.getSequenceName(column.column_default);
71
+ if (!sequenceName)
72
+ return;
73
+ const index = Number(stat === null || stat === void 0 ? void 0 : stat.maxindex) || 0;
74
+ this.updateTablesWithAutoIncrement(tableName, {
75
+ column: column.column_name,
76
+ sequenceName,
77
+ index: String(index + ((_a = config_1.INDEX_OFFSET_CONFIG[this.getType()]) !== null && _a !== void 0 ? _a : 0)),
34
78
  });
35
79
  });
36
80
  }
81
+ getMaxColumnIndex(em, tableName, columnName) {
82
+ return __awaiter(this, void 0, void 0, function* () {
83
+ const [stat] = yield this.execQuery(em, "getMaxColumnIndex", {
84
+ tableName,
85
+ column_name: columnName,
86
+ });
87
+ return stat || null;
88
+ });
89
+ }
90
+ getSequenceName(columnDefault) {
91
+ var _a;
92
+ return ((_a = columnDefault.match(/'([^']+)'/)) === null || _a === void 0 ? void 0 : _a[1]) || null;
93
+ }
94
+ updateTablesWithAutoIncrement(tableName, data) {
95
+ var _a;
96
+ if (!this.tablesWithAutoIncrement.has(tableName)) {
97
+ this.tablesWithAutoIncrement.set(tableName, []);
98
+ }
99
+ (_a = this.tablesWithAutoIncrement.get(tableName)) === null || _a === void 0 ? void 0 : _a.push(data);
100
+ }
37
101
  restoreData() {
38
102
  return __awaiter(this, void 0, void 0, function* () {
39
103
  yield this.manager.transaction((em) => __awaiter(this, void 0, void 0, function* () {
40
- const restoreManager = yield this.restoreManager(em);
41
- yield restoreManager.foreignKey.disable();
42
- const dependencyTree = yield restoreManager.dependencyTree();
43
- const tables = [...(dependencyTree || this.tables)];
44
- yield this.restoreOrder(em, tables, dependencyTree ? "sorted" : "random");
45
- yield restoreManager.foreignKey.enable();
104
+ const { foreignKey, restoreOrder } = yield this.restoreManager(em);
105
+ yield foreignKey.disable();
106
+ yield restoreOrder();
107
+ yield foreignKey.enable();
46
108
  }));
47
109
  });
48
110
  }
49
- restoreOrder(em_1, tables_1) {
50
- return __awaiter(this, arguments, void 0, function* (em, tables, type = "random") {
51
- switch (type) {
52
- case "sorted":
53
- for (const tableName of tables) {
54
- yield em.query(this.getQuery("truncateTable", { tableName }));
55
- yield em.query(this.getQuery("restoreData", { tableName }));
56
- }
57
- break;
58
- default:
59
- yield Promise.all(tables.map((tableName) => __awaiter(this, void 0, void 0, function* () {
60
- yield em.query(this.getQuery("truncateTable", { tableName }));
61
- yield em.query(this.getQuery("restoreData", { tableName }));
62
- })));
63
- break;
64
- }
65
- });
66
- }
67
111
  restoreManager(em) {
68
112
  return __awaiter(this, void 0, void 0, function* () {
69
113
  if (this.tables.size === 0) {
@@ -71,29 +115,73 @@ class Fastypest extends sql_script_1.SQLScript {
71
115
  }
72
116
  const manager = {
73
117
  foreignKey: {
74
- disable: () => __awaiter(this, void 0, void 0, function* () { return Promise.resolve({}); }),
75
- enable: () => __awaiter(this, void 0, void 0, function* () { return Promise.resolve({}); }),
118
+ disable: () => __awaiter(this, void 0, void 0, function* () { return Promise.resolve(); }),
119
+ enable: () => __awaiter(this, void 0, void 0, function* () { return Promise.resolve(); }),
76
120
  },
77
- dependencyTree: () => __awaiter(this, void 0, void 0, function* () { return Promise.resolve(undefined); }),
121
+ restoreOrder: () => __awaiter(this, void 0, void 0, function* () { return Promise.resolve(); }),
78
122
  };
79
- switch (this.type) {
80
- case "cockroachdb":
81
- const dependencyTree = yield em.query(this.getQuery("dependencyTree"));
82
- manager.dependencyTree = () => __awaiter(this, void 0, void 0, function* () {
83
- return new Set(dependencyTree.map((row) => row.table_name));
84
- });
85
- break;
86
- case "mariadb":
87
- case "mysql":
88
- manager.foreignKey.disable = () => __awaiter(this, void 0, void 0, function* () { return em.query(this.getQuery("foreignKey.disable")); });
89
- manager.foreignKey.enable = () => __awaiter(this, void 0, void 0, function* () { return em.query(this.getQuery("foreignKey.enable")); });
123
+ const typesWithForeignKey = ["postgres", "mariadb", "mysql"];
124
+ if (typesWithForeignKey.includes(this.getType())) {
125
+ manager.foreignKey.disable = () => __awaiter(this, void 0, void 0, function* () { return this.execQuery(em, "foreignKey.disable"); });
126
+ manager.foreignKey.enable = () => __awaiter(this, void 0, void 0, function* () { return this.execQuery(em, "foreignKey.enable"); });
90
127
  }
128
+ manager.restoreOrder = () => this.restoreOrder(em);
91
129
  return manager;
92
130
  });
93
131
  }
94
- clearTempTables() {
132
+ calculateDependencyTables(em) {
95
133
  return __awaiter(this, void 0, void 0, function* () {
134
+ const dependencyTree = yield this.execQuery(em, "dependencyTree");
135
+ if (!dependencyTree.length) {
136
+ this.restoreInOder = false;
137
+ return;
138
+ }
139
+ const sortedTables = new Set(dependencyTree.map((row) => row.table_name));
96
140
  this.tables.clear();
141
+ this.tables = sortedTables;
142
+ this.restoreInOder = true;
143
+ });
144
+ }
145
+ detectTables(em) {
146
+ return __awaiter(this, void 0, void 0, function* () {
147
+ const tables = yield this.execQuery(em, "getTables");
148
+ tables.forEach((row) => {
149
+ this.tables.add(row.name);
150
+ });
151
+ });
152
+ }
153
+ restoreOrder(em) {
154
+ return __awaiter(this, void 0, void 0, function* () {
155
+ if (this.restoreInOder) {
156
+ for (const tableName of this.tables) {
157
+ yield this.recreateData(em, tableName);
158
+ }
159
+ return;
160
+ }
161
+ const tables = [...this.tables];
162
+ yield Promise.all(tables.map((tableName) => this.recreateData(em, tableName)));
163
+ });
164
+ }
165
+ recreateData(em, tableName) {
166
+ return __awaiter(this, void 0, void 0, function* () {
167
+ yield this.execQuery(em, "truncateTable", { tableName });
168
+ yield this.execQuery(em, "restoreData", { tableName });
169
+ yield this.resetAutoIncrementColumns(em, tableName);
170
+ });
171
+ }
172
+ resetAutoIncrementColumns(em, tableName) {
173
+ return __awaiter(this, void 0, void 0, function* () {
174
+ const tables = this.tablesWithAutoIncrement.get(tableName);
175
+ if (!tables)
176
+ return;
177
+ for (const { column, sequenceName, index } of tables) {
178
+ yield this.execQuery(em, "resetAutoIncrementColumn", {
179
+ tableName,
180
+ column,
181
+ sequenceName,
182
+ index,
183
+ });
184
+ }
97
185
  });
98
186
  }
99
187
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fastypest.js","sourceRoot":"","sources":["../../src/core/fastypest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fastypest.js","sourceRoot":"","sources":["../../src/core/fastypest.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,9 @@
7
7
  "getTables": "SELECT table_name AS name FROM information_schema.tables WHERE table_catalog = CURRENT_DATABASE() AND table_schema = 'public' AND table_type = 'BASE TABLE'",
8
8
  "createTempTable": "SET experimental_enable_temp_tables=on; CREATE TEMPORARY TABLE \"{{tableName}}_temp\" AS SELECT * FROM \"{{tableName}}\"",
9
9
  "dropTempTable": "DROP TABLE IF EXISTS \"{{tableName}}_temp\"",
10
- "restoreData": "INSERT INTO \"{{tableName}}\" SELECT * FROM \"{{tableName}}_temp\"; SELECT setval(pg_get_serial_sequence('\"{{tableName}}\"', 'id'), (SELECT COALESCE(MAX(id), 0) FROM \"{{tableName}}\"))",
11
- "truncateTable": "TRUNCATE TABLE \"{{tableName}}\" CASCADE; ALTER SEQUENCE {{tableName}}_id_seq RESTART WITH 1;"
10
+ "restoreData": "INSERT INTO \"{{tableName}}\" SELECT * FROM \"{{tableName}}_temp\";",
11
+ "truncateTable": "TRUNCATE TABLE \"{{tableName}}\" CASCADE;",
12
+ "getColumnsWithAutoIncrement": "SELECT column_name, column_default FROM information_schema.columns WHERE table_schema = 'public' AND column_default LIKE 'nextval%' AND table_name = '{{tableName}}'",
13
+ "resetAutoIncrementColumn": "SELECT setval('{{sequenceName}}',{{index}});",
14
+ "getMaxColumnIndex": "SELECT MAX({{column_name}}) AS maxindex FROM \"{{tableName}}\""
12
15
  }
@@ -10,6 +10,9 @@ export declare const DB_QUERIES: {
10
10
  dropTempTable: string;
11
11
  restoreData: string;
12
12
  truncateTable: string;
13
+ getColumnsWithAutoIncrement: string;
14
+ resetAutoIncrementColumn: string;
15
+ getMaxColumnIndex: string;
13
16
  };
14
17
  mariadb: {
15
18
  dependencyTree: string;
@@ -22,6 +25,9 @@ export declare const DB_QUERIES: {
22
25
  dropTempTable: string;
23
26
  restoreData: string;
24
27
  truncateTable: string;
28
+ getColumnsWithAutoIncrement: string;
29
+ resetAutoIncrementColumn: string;
30
+ getMaxColumnIndex: string;
25
31
  };
26
32
  postgres: {
27
33
  dependencyTree: string;
@@ -34,6 +40,9 @@ export declare const DB_QUERIES: {
34
40
  dropTempTable: string;
35
41
  restoreData: string;
36
42
  truncateTable: string;
43
+ getColumnsWithAutoIncrement: string;
44
+ resetAutoIncrementColumn: string;
45
+ getMaxColumnIndex: string;
37
46
  };
38
47
  cockroachdb: {
39
48
  dependencyTree: string;
@@ -46,6 +55,9 @@ export declare const DB_QUERIES: {
46
55
  dropTempTable: string;
47
56
  restoreData: string;
48
57
  truncateTable: string;
58
+ getColumnsWithAutoIncrement: string;
59
+ resetAutoIncrementColumn: string;
60
+ getMaxColumnIndex: string;
49
61
  };
50
62
  };
51
63
  export type AllowedDataBases = keyof typeof DB_QUERIES;
@@ -8,5 +8,8 @@
8
8
  "createTempTable": "CREATE TEMPORARY TABLE {{tableName}}_temp AS SELECT * FROM {{tableName}}",
9
9
  "dropTempTable": "DROP TEMPORARY TABLE {{tableName}}_temp",
10
10
  "restoreData": "INSERT INTO {{tableName}} SELECT * FROM {{tableName}}_temp",
11
- "truncateTable": "TRUNCATE TABLE {{tableName}}"
11
+ "truncateTable": "TRUNCATE TABLE {{tableName}}",
12
+ "getColumnsWithAutoIncrement": "-- NOT USED",
13
+ "resetAutoIncrementColumn": "-- NOT USED",
14
+ "getMaxColumnIndex": "-- NOT USED"
12
15
  }
@@ -1,12 +1,15 @@
1
1
  {
2
2
  "dependencyTree": "-- NOT USED",
3
3
  "foreignKey": {
4
- "disable": "-- NOT USED",
5
- "enable": "-- NOT USED"
4
+ "disable": "DO $$ DECLARE table_name text; BEGIN FOR table_name IN (SELECT tablename FROM pg_tables WHERE schemaname = current_schema()) LOOP EXECUTE 'ALTER TABLE \"' || table_name || '\" DISABLE TRIGGER ALL;'; END LOOP; END $$;",
5
+ "enable": "DO $$ DECLARE table_name text; BEGIN FOR table_name IN (SELECT tablename FROM pg_tables WHERE schemaname = current_schema()) LOOP EXECUTE 'ALTER TABLE \"' || table_name || '\" ENABLE TRIGGER ALL;'; END LOOP; END $$;"
6
6
  },
7
7
  "getTables": "SELECT table_name AS name FROM information_schema.tables WHERE table_schema = CURRENT_SCHEMA() AND table_type = 'BASE TABLE'",
8
8
  "createTempTable": "CREATE TEMPORARY TABLE \"{{tableName}}_temp\" AS SELECT * FROM \"{{tableName}}\"",
9
9
  "dropTempTable": "DROP TABLE IF EXISTS \"{{tableName}}_temp\"",
10
- "restoreData": "INSERT INTO \"{{tableName}}\" SELECT * FROM \"{{tableName}}_temp\"; SELECT SETVAL(pg_get_serial_sequence('{{tableName}}', 'id'), (SELECT COALESCE(MAX(id), 0) FROM \"{{tableName}}\"))",
11
- "truncateTable": "TRUNCATE TABLE \"{{tableName}}\" RESTART IDENTITY CASCADE"
10
+ "restoreData": "INSERT INTO \"{{tableName}}\" SELECT * FROM \"{{tableName}}_temp\";",
11
+ "truncateTable": "TRUNCATE TABLE \"{{tableName}}\" RESTART IDENTITY CASCADE",
12
+ "getColumnsWithAutoIncrement": "SELECT column_name, column_default FROM information_schema.columns WHERE table_schema = 'public' AND column_default LIKE 'nextval%' AND table_name = '{{tableName}}'",
13
+ "resetAutoIncrementColumn": "ALTER SEQUENCE \"{{sequenceName}}\" RESTART WITH {{index}};",
14
+ "getMaxColumnIndex": "SELECT MAX({{column_name}}) AS maxindex FROM \"{{tableName}}\""
12
15
  }
@@ -1,11 +1,12 @@
1
- import { DataSourceOptions } from "typeorm";
1
+ import { DataSourceOptions, EntityManager } from "typeorm";
2
2
  import { Queries } from "./queries";
3
3
  import { QueryPath } from "./types";
4
4
  type DBTypes = DataSourceOptions["type"];
5
5
  export declare class SQLScript {
6
- readonly type: DBTypes;
7
- queries: Queries;
8
- constructor(type: DBTypes);
9
- getQuery(queryPath: QueryPath<Queries>, values?: Record<string, string>): string;
6
+ private readonly type;
7
+ private queries;
8
+ protected constructor(type: DBTypes);
9
+ protected getType(): DBTypes;
10
+ protected execQuery<T = void>(em: EntityManager, queryPath: QueryPath<Queries>, values?: Record<string, string>): T extends void ? Promise<void> : Promise<T[]>;
10
11
  }
11
12
  export {};
@@ -10,15 +10,18 @@ class SQLScript {
10
10
  }
11
11
  this.queries = queries_1.DB_QUERIES[this.type];
12
12
  }
13
- getQuery(queryPath, values) {
13
+ getType() {
14
+ return this.type;
15
+ }
16
+ execQuery(em, queryPath, values) {
14
17
  const queryObj = queryPath
15
18
  .split(".")
16
19
  .reduce((obj, key) => obj[key], this.queries);
17
- let queryStr = queryObj;
20
+ let query = queryObj;
18
21
  for (const key in values) {
19
- queryStr = queryStr.replace(new RegExp(`{{\\s*${key}\\s*}}`, "g"), values[key]);
22
+ query = query.replace(new RegExp(`{{\\s*${key}\\s*}}`, "g"), values[key]);
20
23
  }
21
- return queryStr;
24
+ return em.query(query);
22
25
  }
23
26
  }
24
27
  exports.SQLScript = SQLScript;
@@ -1 +1 @@
1
- {"version":3,"file":"sql-script.js","sourceRoot":"","sources":["../../../src/core/sql-script/sql-script.ts"],"names":[],"mappings":";;;AACA,uCAAkE;AAKlE,MAAa,SAAS;IAEpB,YAAqB,IAAa;QAAb,SAAI,GAAJ,IAAI,CAAS;QAChC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,oBAAU,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,kFAAkF,MAAM,CAAC,IAAI,CAC3F,oBAAU,CACX,EAAE,CACJ,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,oBAAU,CAAC,IAAI,CAAC,IAAwB,CAAC,CAAC;IAC3D,CAAC;IAED,QAAQ,CACN,SAA6B,EAC7B,MAA+B;QAE/B,MAAM,QAAQ,GAAG,SAAS;aACvB,KAAK,CAAC,GAAG,CAAC;aACV,MAAM,CAAC,CAAC,GAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAErD,IAAI,QAAQ,GAAG,QAAQ,CAAC;QAExB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,QAAQ,GAAG,QAAQ,CAAC,OAAO,CACzB,IAAI,MAAM,CAAC,SAAS,GAAG,QAAQ,EAAE,GAAG,CAAC,EACrC,MAAM,CAAC,GAAG,CAAC,CACZ,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAjCD,8BAiCC"}
1
+ {"version":3,"file":"sql-script.js","sourceRoot":"","sources":["../../../src/core/sql-script/sql-script.ts"],"names":[],"mappings":";;;AACA,uCAAkE;AAKlE,MAAa,SAAS;IAGpB,YAAuC,IAAa;QAAb,SAAI,GAAJ,IAAI,CAAS;QAClD,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,oBAAU,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,kFAAkF,MAAM,CAAC,IAAI,CAC3F,oBAAU,CACX,EAAE,CACJ,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,oBAAU,CAAC,IAAI,CAAC,IAAwB,CAAC,CAAC;IAC3D,CAAC;IAES,OAAO;QACf,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAES,SAAS,CACjB,EAAiB,EACjB,SAA6B,EAC7B,MAA+B;QAE/B,MAAM,QAAQ,GAAG,SAAS;aACvB,KAAK,CAAC,GAAG,CAAC;aACV,MAAM,CAAC,CAAC,GAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAErD,IAAI,KAAK,GAAG,QAAQ,CAAC;QAErB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,SAAS,GAAG,QAAQ,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO,EAAE,CAAC,KAAK,CAAC,KAAK,CAAkD,CAAC;IAC1E,CAAC;CACF;AApCD,8BAoCC"}
@@ -0,0 +1,28 @@
1
+ import { DataSourceOptions } from "typeorm";
2
+ export type Table = {
3
+ name: string;
4
+ };
5
+ export type DependencyTreeQueryOut = {
6
+ table_name: string;
7
+ level: number;
8
+ };
9
+ export type ColumnsWithAutoIncrement = {
10
+ column_name: string;
11
+ column_default: string;
12
+ };
13
+ export type Manager = {
14
+ foreignKey: {
15
+ disable: () => Promise<void>;
16
+ enable: () => Promise<void>;
17
+ };
18
+ restoreOrder: () => Promise<void>;
19
+ };
20
+ export type ColumnStat = {
21
+ maxindex: string | null;
22
+ };
23
+ export type DBType = DataSourceOptions["type"];
24
+ export type IncrementDetail = {
25
+ column: string;
26
+ sequenceName: string;
27
+ index: string;
28
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fastypest",
3
- "version": "1.3.10",
3
+ "version": "1.4.1",
4
4
  "description": "Restores the database automatically after each test. Allows serial execution of tests without having to delete and restore the database having to stop the application",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -12,15 +12,14 @@
12
12
  "node": "18.18.0",
13
13
  "yarn": "4.2.2"
14
14
  },
15
- "installConfig": {
16
- "pnp": false
17
- },
18
15
  "scripts": {
16
+ "postinstall": "husky install",
19
17
  "prebuild": "rimraf dist",
20
18
  "build": "tsc",
21
19
  "eslint": "eslint --fix .",
22
20
  "pretest": "tsc",
23
- "test": "jest --runInBand --config ./jest.config.json",
21
+ "test:ci": "jest --runInBand --forceExit --verbose --showSeed --config ./tests/jest.config.json",
22
+ "test": "yarn build && yarn test:ci",
24
23
  "docker": "ts-node -r tsconfig-paths/register scripts/prepare-docker.ts",
25
24
  "release": "standard-version --release-as patch"
26
25
  },
@@ -53,15 +52,16 @@
53
52
  "@types/cross-spawn": "^6.0.6",
54
53
  "@types/jest": "^29.5.12",
55
54
  "@types/node": "^20.12.12",
56
- "@typescript-eslint/eslint-plugin": "^7.10.0",
55
+ "@typescript-eslint/eslint-plugin": "^7.11.0",
57
56
  "cross-spawn": "^7.0.3",
58
57
  "eslint": "^9.3.0",
59
58
  "eslint-config-standard-with-typescript": "^43.0.1",
60
59
  "eslint-plugin-import": "^2.29.1",
61
60
  "eslint-plugin-n": "^17.7.0",
62
61
  "eslint-plugin-prettier": "^5.1.3",
63
- "eslint-plugin-promise": "^6.1.1",
62
+ "eslint-plugin-promise": "^6.2.0",
64
63
  "globals": "^15.3.0",
64
+ "husky": "^9.0.11",
65
65
  "jest": "^29.7.0",
66
66
  "mariadb": "^3.3.0",
67
67
  "mysql": "^2.18.1",
@@ -73,7 +73,7 @@
73
73
  "tsconfig-paths": "^4.2.0",
74
74
  "typeorm": "^0.3.20",
75
75
  "typescript": "^5.4.5",
76
- "typescript-eslint": "^7.10.0"
76
+ "typescript-eslint": "^7.11.0"
77
77
  },
78
78
  "peerDependencies": {
79
79
  "typeorm": "^0.3.20"