db-modeling-markdown 1.0.6 → 2.0.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 (114) hide show
  1. package/CHANGELOG.md +19 -4
  2. package/CONTRIBUTING.md +34 -9
  3. package/README.md +92 -48
  4. package/dist/dialects/core/dbImportProvider.d.ts +5 -0
  5. package/dist/dialects/core/dbImportProvider.js +7 -0
  6. package/dist/dialects/core/dbImportProvider.js.map +1 -0
  7. package/dist/dialects/core/dbProvider.d.ts +19 -6
  8. package/dist/dialects/core/dbProvider.js +40 -6
  9. package/dist/dialects/core/dbProvider.js.map +1 -1
  10. package/dist/dialects/core/dbUtils.d.ts +35 -0
  11. package/dist/dialects/core/dbUtils.js +159 -0
  12. package/dist/dialects/core/dbUtils.js.map +1 -0
  13. package/dist/dialects/core/providerFactory.d.ts +3 -1
  14. package/dist/dialects/core/providerFactory.js +28 -3
  15. package/dist/dialects/core/providerFactory.js.map +1 -1
  16. package/dist/dialects/db2/db2Provider.d.ts +2 -1
  17. package/dist/dialects/db2/db2Provider.js +2 -3
  18. package/dist/dialects/db2/db2Provider.js.map +1 -1
  19. package/dist/dialects/mariadb/mariaDbImportProvider.d.ts +19 -0
  20. package/dist/dialects/mariadb/mariaDbImportProvider.js +254 -0
  21. package/dist/dialects/mariadb/mariaDbImportProvider.js.map +1 -0
  22. package/dist/dialects/mariadb/mariaDbProvider.d.ts +11 -11
  23. package/dist/dialects/mariadb/mariaDbProvider.js +129 -214
  24. package/dist/dialects/mariadb/mariaDbProvider.js.map +1 -1
  25. package/dist/dialects/mariadb/mariaDbUtil.d.ts +6 -0
  26. package/dist/dialects/mariadb/mariaDbUtil.js +23 -0
  27. package/dist/dialects/mariadb/mariaDbUtil.js.map +1 -0
  28. package/dist/dialects/mssql/msSqlProvider.d.ts +2 -1
  29. package/dist/dialects/mssql/msSqlProvider.js +4 -8
  30. package/dist/dialects/mssql/msSqlProvider.js.map +1 -1
  31. package/dist/dialects/mysql/mySqlImportProvider.d.ts +3 -0
  32. package/dist/dialects/mysql/mySqlImportProvider.js +8 -0
  33. package/dist/dialects/mysql/mySqlImportProvider.js.map +1 -0
  34. package/dist/dialects/mysql/mySqlProvider.d.ts +2 -20
  35. package/dist/dialects/mysql/mySqlProvider.js +2 -233
  36. package/dist/dialects/mysql/mySqlProvider.js.map +1 -1
  37. package/dist/dialects/oracle/oracleProvider.d.ts +5 -1
  38. package/dist/dialects/oracle/oracleProvider.js +14 -6
  39. package/dist/dialects/oracle/oracleProvider.js.map +1 -1
  40. package/dist/dialects/postgresql/postgreSqlProvider.d.ts +2 -1
  41. package/dist/dialects/postgresql/postgreSqlProvider.js +4 -1
  42. package/dist/dialects/postgresql/postgreSqlProvider.js.map +1 -1
  43. package/dist/dialects/sqlite/sqliteSqlProvider.d.ts +2 -1
  44. package/dist/dialects/sqlite/sqliteSqlProvider.js +1 -2
  45. package/dist/dialects/sqlite/sqliteSqlProvider.js.map +1 -1
  46. package/dist/index.d.ts +9 -4
  47. package/dist/index.js +5 -5
  48. package/dist/index.js.map +1 -1
  49. package/dist/lib/code-flow/codeFlow.js.map +1 -1
  50. package/dist/lib/markdown-object/markdownModel.d.ts +0 -4
  51. package/dist/lib/markdown-object/markdownModel.js +0 -4
  52. package/dist/lib/markdown-object/markdownModel.js.map +1 -1
  53. package/dist/lib/markdown-object/markdownReader.d.ts +19 -0
  54. package/dist/lib/markdown-object/markdownReader.js +85 -28
  55. package/dist/lib/markdown-object/markdownReader.js.map +1 -1
  56. package/dist/lib/markdown-object/markdownWriter.d.ts +25 -1
  57. package/dist/lib/markdown-object/markdownWriter.js +117 -52
  58. package/dist/lib/markdown-object/markdownWriter.js.map +1 -1
  59. package/dist/lib/markdown-object/readerContext.js +3 -1
  60. package/dist/lib/markdown-object/readerContext.js.map +1 -1
  61. package/dist/lib/utils/fileHelper.d.ts +4 -0
  62. package/dist/lib/utils/fileHelper.js +20 -1
  63. package/dist/lib/utils/fileHelper.js.map +1 -1
  64. package/dist/lib/utils/logger.js.map +1 -1
  65. package/dist/lib/utils/markdownParser.js +3 -6
  66. package/dist/lib/utils/markdownParser.js.map +1 -1
  67. package/dist/lib/utils/sqlHelper.js.map +1 -1
  68. package/dist/lib/utils/textFileReader.js +2 -2
  69. package/dist/lib/utils/textFileReader.js.map +1 -1
  70. package/dist/lib/utils/textHelper.d.ts +18 -0
  71. package/dist/lib/utils/textHelper.js +62 -0
  72. package/dist/lib/utils/textHelper.js.map +1 -1
  73. package/dist/{services → models}/databaseTypes.d.ts +0 -0
  74. package/dist/{services → models}/databaseTypes.js +0 -0
  75. package/dist/models/databaseTypes.js.map +1 -0
  76. package/dist/models/dbColumn.d.ts +43 -0
  77. package/dist/models/dbColumn.js +3 -0
  78. package/dist/models/dbColumn.js.map +1 -0
  79. package/dist/models/dbDiffModel.d.ts +43 -0
  80. package/dist/models/dbDiffModel.js +3 -0
  81. package/dist/models/dbDiffModel.js.map +1 -0
  82. package/dist/models/dbForeignKey.d.ts +33 -0
  83. package/dist/models/dbForeignKey.js +3 -0
  84. package/dist/models/dbForeignKey.js.map +1 -0
  85. package/dist/models/dbIndex.d.ts +28 -0
  86. package/dist/models/dbIndex.js +3 -0
  87. package/dist/models/dbIndex.js.map +1 -0
  88. package/dist/models/dbIndexType.d.ts +8 -0
  89. package/dist/models/dbIndexType.js +13 -0
  90. package/dist/models/dbIndexType.js.map +1 -0
  91. package/dist/models/dbModel.d.ts +10 -0
  92. package/dist/{services → models}/dbModel.js +0 -0
  93. package/dist/{services → models}/dbModel.js.map +1 -1
  94. package/dist/models/dbPrimaryKey.d.ts +16 -0
  95. package/dist/models/dbPrimaryKey.js +3 -0
  96. package/dist/models/dbPrimaryKey.js.map +1 -0
  97. package/dist/models/dbTable.d.ts +49 -0
  98. package/dist/models/dbTable.js +3 -0
  99. package/dist/models/dbTable.js.map +1 -0
  100. package/dist/models/dbTableMarkdown.d.ts +34 -0
  101. package/dist/models/dbTableMarkdown.js +3 -0
  102. package/dist/models/dbTableMarkdown.js.map +1 -0
  103. package/dist/services/dbOptions.d.ts +35 -0
  104. package/dist/services/dbOptions.js +18 -0
  105. package/dist/services/dbOptions.js.map +1 -0
  106. package/dist/services/dbmOptions.d.ts +7 -3
  107. package/dist/services/dbmOptions.js +7 -3
  108. package/dist/services/dbmOptions.js.map +1 -1
  109. package/dist/services/dbmService.d.ts +36 -1
  110. package/dist/services/dbmService.js +87 -13
  111. package/dist/services/dbmService.js.map +1 -1
  112. package/package.json +32 -40
  113. package/dist/services/databaseTypes.js.map +0 -1
  114. package/dist/services/dbModel.d.ts +0 -135
@@ -1,4 +1,4 @@
1
- import { DatabaseTypes } from './databaseTypes';
1
+ import { DatabaseTypes } from '../models/databaseTypes';
2
2
  /**
3
3
  * Options for generation functions
4
4
  */
@@ -13,12 +13,16 @@ export declare class DbmOptions {
13
13
  */
14
14
  mdFileExtension: string;
15
15
  /**
16
- * The folder path of table definition markdown files()
16
+ * The markdown file directory of the database model.
17
17
  */
18
18
  sourceFolder: string;
19
19
  /**
20
- * The path of the output file
20
+ * The path of the output file.
21
21
  */
22
22
  targetPath: string;
23
+ /**
24
+ * The markdown file directory of the previous database version.
25
+ */
26
+ previousVersionFolder: string;
23
27
  }
24
28
  export declare const DefaultOptions: DbmOptions;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DefaultOptions = exports.DbmOptions = void 0;
4
- const databaseTypes_1 = require("./databaseTypes");
4
+ const databaseTypes_1 = require("../models/databaseTypes");
5
5
  /**
6
6
  * Options for generation functions
7
7
  */
@@ -17,13 +17,17 @@ class DbmOptions {
17
17
  */
18
18
  this.mdFileExtension = '.db.md';
19
19
  /**
20
- * The folder path of table definition markdown files()
20
+ * The markdown file directory of the database model.
21
21
  */
22
22
  this.sourceFolder = '';
23
23
  /**
24
- * The path of the output file
24
+ * The path of the output file.
25
25
  */
26
26
  this.targetPath = '';
27
+ /**
28
+ * The markdown file directory of the previous database version.
29
+ */
30
+ this.previousVersionFolder = '';
27
31
  }
28
32
  }
29
33
  exports.DbmOptions = DbmOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"dbmOptions.js","sourceRoot":"","sources":["../../src/services/dbmOptions.ts"],"names":[],"mappings":";;;AAAA,mDAAgD;AAEhD;;GAEG;AACH,MAAa,UAAU;IAAvB;QACC;;WAEG;QACH,aAAQ,GAAkB,6BAAa,CAAC,KAAK,CAAC;QAE9C;;;WAGG;QACH,oBAAe,GAAW,QAAQ,CAAC;QAEnC;;WAEG;QACH,iBAAY,GAAW,EAAE,CAAC;QAE1B;;WAEG;QACH,eAAU,GAAW,EAAE,CAAC;IACzB,CAAC;CAAA;AArBD,gCAqBC;AAEY,QAAA,cAAc,GAAG,IAAI,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"dbmOptions.js","sourceRoot":"","sources":["../../src/services/dbmOptions.ts"],"names":[],"mappings":";;;AAAA,2DAAuD;AAEvD;;GAEG;AACH,MAAa,UAAU;IAAvB;QACC;;WAEG;QACH,aAAQ,GAAkB,6BAAa,CAAC,KAAK,CAAA;QAE7C;;;WAGG;QACH,oBAAe,GAAW,QAAQ,CAAA;QAElC;;WAEG;QACH,iBAAY,GAAW,EAAE,CAAA;QAEzB;;WAEG;QACH,eAAU,GAAW,EAAE,CAAA;QAEvB;;WAEG;QACH,0BAAqB,GAAW,EAAE,CAAA;IACnC,CAAC;CAAA;AA1BD,gCA0BC;AAEY,QAAA,cAAc,GAAG,IAAI,UAAU,EAAE,CAAA"}
@@ -1,5 +1,6 @@
1
- import { DbModel } from './dbModel';
1
+ import { DbModel } from '../models/dbModel';
2
2
  import { DbmOptions } from './dbmOptions';
3
+ import { DbOptions } from './dbOptions';
3
4
  /**
4
5
  * The database modeling markdown service.
5
6
  */
@@ -31,11 +32,30 @@ export declare class DbmService {
31
32
  * @param options the options, required: `database`, `sourceFolder`, `targetPath`.
32
33
  */
33
34
  static toDropThenCreateTableSql(options: DbmOptions): string;
35
+ /**
36
+ * Generate a SQL file with upgrade scripts.
37
+ * support:
38
+ * - new tables,
39
+ * - new columns,
40
+ * - new primary keys
41
+ * - new indexes
42
+ * - new foreign keys
43
+ * @param options the options, required: `database`, `sourceFolder`, `targetPath`, `previousVersionFolder`.
44
+ */
45
+ static toUpgradeSql(options: DbmOptions): string;
34
46
  /**
35
47
  * Generate a JSON file.
36
48
  * @param options the options, required: `database`, `sourceFolder`, `targetPath`.
37
49
  */
38
50
  static toJson(options: DbmOptions): string;
51
+ /**
52
+ * Generate markdown files from a json file
53
+ * @param jsonFile the json file path
54
+ * @param markdownFolder the folder to which we will write
55
+ * @param force If true, delete all files whose extension matched, default: `false`.
56
+ * @param fileExtension generated file extension, default: `.db.md`.
57
+ */
58
+ static fromJsonFile(jsonFile: string, markdownFolder: string, force?: boolean, fileExtension?: string): void;
39
59
  /**
40
60
  * Generate markdown files from a model
41
61
  * @param model the model object with
@@ -44,9 +64,24 @@ export declare class DbmService {
44
64
  * @param fileExtension generated file extension, default: `.db.md`.
45
65
  */
46
66
  static toMarkdown(model: DbModel, markdownFolder: string, force?: boolean, fileExtension?: string): void;
67
+ /**
68
+ * Generate a index file for a model
69
+ * @param model the model object with
70
+ * @param markdownFolder the folder to which we will write
71
+ * @param filename generated file name, default: `index.md`.
72
+ */
73
+ static genIndexFile(model: DbModel, markdownFolder: string, filename?: string): void;
47
74
  /**
48
75
  * Get a model object.
49
76
  * @param options the options, required: `database`, `sourceFolder`.
50
77
  */
51
78
  static toModel(options: DbmOptions): DbModel;
79
+ /**
80
+ * Generate markdown files from a database
81
+ * @param dbOptions the datbase connection configure
82
+ * @param markdownFolder the folder to which we will write
83
+ * @param force If true, delete all files whose extension matched, default: `false`.
84
+ * @param fileExtension generated file extension, default: `.db.md`.
85
+ */
86
+ static fromDatabase(dbOptions: DbOptions, markdownFolder: string, force?: boolean, fileExtension?: string): Promise<void>;
52
87
  }
@@ -3,10 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DbmService = void 0;
4
4
  const fs = require("fs");
5
5
  const path = require("path");
6
- const fileHelper_1 = require("../lib/utils/fileHelper");
6
+ const providerFactory_1 = require("../dialects/core/providerFactory");
7
7
  const markdownReader_1 = require("../lib/markdown-object/markdownReader");
8
8
  const markdownWriter_1 = require("../lib/markdown-object/markdownWriter");
9
- const providerFactory_1 = require("../dialects/core/providerFactory");
9
+ const fileHelper_1 = require("../lib/utils/fileHelper");
10
+ const databaseTypes_1 = require("../models/databaseTypes");
11
+ const dbmOptions_1 = require("./dbmOptions");
10
12
  /**
11
13
  * The database modeling markdown service.
12
14
  */
@@ -64,9 +66,8 @@ class DbmService {
64
66
  ],
65
67
  };
66
68
  const table = model.tables[0];
67
- const content = markdownWriter_1.MarkdownWriter.renderTable(table, options.sourceFolder &&
69
+ return markdownWriter_1.MarkdownWriter.renderTable(table, options.sourceFolder &&
68
70
  path.join(options.sourceFolder, `${table.name}${options.mdFileExtension}`));
69
- return content;
70
71
  }
71
72
  /**
72
73
  * Generate a SQL file with create-table-if-not-exists scripts.
@@ -120,6 +121,30 @@ class DbmService {
120
121
  }
121
122
  return sql;
122
123
  }
124
+ /**
125
+ * Generate a SQL file with upgrade scripts.
126
+ * support:
127
+ * - new tables,
128
+ * - new columns,
129
+ * - new primary keys
130
+ * - new indexes
131
+ * - new foreign keys
132
+ * @param options the options, required: `database`, `sourceFolder`, `targetPath`, `previousVersionFolder`.
133
+ */
134
+ static toUpgradeSql(options) {
135
+ const fromOptions = new dbmOptions_1.DbmOptions();
136
+ fromOptions.database = options.database;
137
+ fromOptions.mdFileExtension = options.mdFileExtension;
138
+ fromOptions.sourceFolder = options.previousVersionFolder;
139
+ const fromModel = this.toModel(fromOptions);
140
+ const model = this.toModel(options);
141
+ const provider = providerFactory_1.ProviderFactory.getProvider(options.database);
142
+ const sql = provider.getUpgradeSql(fromModel, model, true);
143
+ if (options.targetPath) {
144
+ fileHelper_1.FileHelper.writeFileSync(options.targetPath, sql);
145
+ }
146
+ return sql;
147
+ }
123
148
  /**
124
149
  * Generate a JSON file.
125
150
  * @param options the options, required: `database`, `sourceFolder`, `targetPath`.
@@ -131,6 +156,17 @@ class DbmService {
131
156
  }
132
157
  return JSON.stringify(model, null, 2);
133
158
  }
159
+ /**
160
+ * Generate markdown files from a json file
161
+ * @param jsonFile the json file path
162
+ * @param markdownFolder the folder to which we will write
163
+ * @param force If true, delete all files whose extension matched, default: `false`.
164
+ * @param fileExtension generated file extension, default: `.db.md`.
165
+ */
166
+ static fromJsonFile(jsonFile, markdownFolder, force = false, fileExtension = '.db.md') {
167
+ const model = JSON.parse(fileHelper_1.FileHelper.readJsonFileSync(jsonFile));
168
+ this.toMarkdown(model, markdownFolder, force, fileExtension);
169
+ }
134
170
  /**
135
171
  * Generate markdown files from a model
136
172
  * @param model the model object with
@@ -139,20 +175,44 @@ class DbmService {
139
175
  * @param fileExtension generated file extension, default: `.db.md`.
140
176
  */
141
177
  static toMarkdown(model, markdownFolder, force = false, fileExtension = '.db.md') {
142
- if (fs.existsSync(markdownFolder)) {
143
- if (force) {
144
- const files = fileHelper_1.FileHelper.readdirSync(markdownFolder);
145
- files.forEach((file) => {
146
- if (file.name.endsWith(fileExtension)) {
147
- fs.unlinkSync(path.join(markdownFolder, file.name));
148
- }
149
- });
150
- }
178
+ if (force && fs.existsSync(markdownFolder)) {
179
+ fileHelper_1.FileHelper.removeAllFilesSync(markdownFolder, fileExtension);
180
+ }
181
+ if (!fs.existsSync(markdownFolder)) {
182
+ fileHelper_1.FileHelper.mkdirSync(markdownFolder);
151
183
  }
152
184
  model.tables.forEach((table) => {
153
185
  markdownWriter_1.MarkdownWriter.renderTable(table, path.join(markdownFolder, `${table.name}${fileExtension}`));
154
186
  });
155
187
  }
188
+ /**
189
+ * Generate a index file for a model
190
+ * @param model the model object with
191
+ * @param markdownFolder the folder to which we will write
192
+ * @param filename generated file name, default: `index.md`.
193
+ */
194
+ static genIndexFile(model, markdownFolder, filename = 'index.md') {
195
+ const file = path.join(markdownFolder, filename);
196
+ fileHelper_1.FileHelper.removeFileSync(file);
197
+ let data = '# Database Design\n\n';
198
+ data += '## Index\n\n';
199
+ const columnWidths = [5, 6];
200
+ model.tables.forEach((table) => {
201
+ if (table.name.length * 2 + 10 > columnWidths[0]) {
202
+ columnWidths[0] = table.name.length * 2 + 10;
203
+ }
204
+ if (table.comment && table.comment.length > columnWidths[1]) {
205
+ columnWidths[1] = table.comment.length;
206
+ }
207
+ });
208
+ data += `| ${'Table'.padEnd(columnWidths[0], ' ')} | ${'Comment'.padEnd(columnWidths[1], ' ')} |\n`;
209
+ data += `| ${''.padEnd(columnWidths[0], '-')} | ${''.padEnd(columnWidths[1], '-')} |\n`;
210
+ model.tables.forEach((table) => {
211
+ const name = `[${table.name}](${table.name}.db.md)`;
212
+ data += `| ${name.padEnd(columnWidths[0], ' ')} | ${table.comment?.padEnd(columnWidths[1], ' ')} |\n`;
213
+ });
214
+ fileHelper_1.FileHelper.writeFileSync(file, data);
215
+ }
156
216
  /**
157
217
  * Get a model object.
158
218
  * @param options the options, required: `database`, `sourceFolder`.
@@ -168,6 +228,20 @@ class DbmService {
168
228
  });
169
229
  return model;
170
230
  }
231
+ /**
232
+ * Generate markdown files from a database
233
+ * @param dbOptions the datbase connection configure
234
+ * @param markdownFolder the folder to which we will write
235
+ * @param force If true, delete all files whose extension matched, default: `false`.
236
+ * @param fileExtension generated file extension, default: `.db.md`.
237
+ */
238
+ static async fromDatabase(dbOptions, markdownFolder, force = false, fileExtension = '.db.md') {
239
+ const provider = providerFactory_1.ProviderFactory.getImportProvider(databaseTypes_1.DatabaseTypes.mariadb);
240
+ const model = await provider.getModel(dbOptions);
241
+ this.toMarkdown(model, markdownFolder, force, fileExtension);
242
+ // generate an index.md for the imported model
243
+ this.genIndexFile(model, markdownFolder);
244
+ }
171
245
  }
172
246
  exports.DbmService = DbmService;
173
247
  //# sourceMappingURL=dbmService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dbmService.js","sourceRoot":"","sources":["../../src/services/dbmService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dbmService.js","sourceRoot":"","sources":["../../src/services/dbmService.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "db-modeling-markdown",
3
- "version": "1.0.6",
3
+ "version": "2.0.1",
4
4
  "description": "database modeling markdown lib",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -9,10 +9,11 @@
9
9
  "coverage": "jest --coverage",
10
10
  "doc": "npm run gulp doc && npm run gulp docs:copy",
11
11
  "gulp": "gulp",
12
- "lint": "eslint \"src/**/*.ts\" \"tests/**/*.ts\" --cache --cache-location .eslintcache",
13
- "lint:fix": "eslint --fix \"src/**/*.ts\" --cache --cache-location .eslintcache",
12
+ "lint": "eslint \"src/**/*.ts\" \"tests/**/*.ts\"",
13
+ "lint:fix": "eslint --fix \"src/**/*.ts\" \"tests/**/*.ts\"",
14
14
  "test": "jest",
15
- "prepare": "husky install"
15
+ "prepare": "husky install",
16
+ "pretty": "prettier --write \"src/**/*.ts\" && prettier --write \"tests/**/*.ts\""
16
17
  },
17
18
  "repository": {
18
19
  "type": "git",
@@ -25,7 +26,7 @@
25
26
  ],
26
27
  "author": {
27
28
  "name": "Steven Yang",
28
- "email": "steven_nyang@outlook.com"
29
+ "email": "steven_nyang@qq.com"
29
30
  },
30
31
  "license": "MIT",
31
32
  "bugs": {
@@ -33,50 +34,41 @@
33
34
  },
34
35
  "homepage": "https://gitee.com/sn-yang/db-modeling-markdown#readme",
35
36
  "dependencies": {
37
+ "mariadb": "^3.0.1",
38
+ "nunjucks": "^3.2.3",
36
39
  "regexp-coder": "2.0.2"
37
40
  },
38
41
  "devDependencies": {
39
- "@types/babel__core": "7.1.16",
40
- "@types/glob": "^7.2.0",
41
- "@types/jest": "27.0.2",
42
- "@types/lodash": "^4.14.177",
43
- "@types/node": "^16.11.7",
44
- "@typescript-eslint/eslint-plugin": "^5.4.0",
45
- "@typescript-eslint/parser": "^5.4.0",
46
- "eslint": "^8.2.0",
42
+ "@types/babel__core": "7.1.19",
43
+ "@types/glob": "^8.0.0",
44
+ "@types/jest": "^29.0.0",
45
+ "@types/lodash": "^4.14.184",
46
+ "@types/node": "^18.7.16",
47
+ "@typescript-eslint/eslint-plugin": "^5.36.2",
48
+ "@typescript-eslint/parser": "^5.36.2",
49
+ "dotenv": "^16.0.3",
50
+ "eslint": "^8.23.0",
47
51
  "eslint-config-airbnb-base": "^15.0.0",
48
- "eslint-config-airbnb-typescript": "^15.0.0",
49
- "eslint-config-prettier": "^8.3.0",
52
+ "eslint-config-airbnb-typescript": "^17.0.0",
53
+ "eslint-config-prettier": "^8.5.0",
50
54
  "eslint-config-tslint": "^0.2.1",
51
- "eslint-plugin-import": "^2.25.3",
52
- "eslint-plugin-simple-import-sort": "^7.0.0",
53
- "eslint-plugin-sort-class-members": "1.12.0",
54
- "eslint-plugin-typescript-sort-keys": "2.0.0",
55
- "glob": "^7.2.0",
55
+ "eslint-plugin-import": "^2.26.0",
56
+ "eslint-plugin-simple-import-sort": "^8.0.0",
57
+ "eslint-plugin-typescript-sort-keys": "2.1.0",
58
+ "glob": "^8.0.3",
56
59
  "gulp": "^4.0.2",
57
60
  "gulp-shell": "^0.8.0",
58
61
  "gulp-sourcemaps": "^3.0.0",
59
62
  "gulp-typescript": "^5.0.1",
60
- "husky": "^7.0.0",
61
- "jest": "27.3.1",
62
- "jscodeshift": "0.13.0",
63
- "lint-staged": "^12.0.2",
64
- "sort-class-members-codemod": "0.5.1",
65
- "ts-jest": "27.0.7",
66
- "ts-node": "^10.4.0",
67
- "typedoc": "^0.22.9",
68
- "typescript": "^4.4.4",
63
+ "husky": "^8.0.0",
64
+ "jest": "^29.0.3",
65
+ "jscodeshift": "^0.13.1",
66
+ "lint-staged": "^13.0.3",
67
+ "sort-class-members-codemod": "^0.5.1",
68
+ "ts-jest": "^29.0.0",
69
+ "ts-node": "^10.9.1",
70
+ "typedoc": "^0.23.14",
71
+ "typescript": "^4.8.3",
69
72
  "vscode-test": "^1.6.1"
70
- },
71
- "husky": {
72
- "hooks": {
73
- "pre-commit": "tsc --noEmit && lint-staged"
74
- }
75
- },
76
- "lint-staged": {
77
- "*.{ts}": [
78
- "eslint --fix",
79
- "git add"
80
- ]
81
73
  }
82
74
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"databaseTypes.js","sourceRoot":"","sources":["../../src/services/databaseTypes.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,aAmCX;AAnCD,WAAY,aAAa;IACxB;;OAEG;IACH,4BAAW,CAAA;IAEX;;OAEG;IACH,oCAAmB,CAAA;IAEnB;;OAEG;IACH,gCAAe,CAAA;IAEf;;OAEG;IACH,gCAAe,CAAA;IAEf;;OAEG;IACH,kCAAiB,CAAA;IAEjB;;OAEG;IACH,0CAAyB,CAAA;IAEzB;;OAEG;IACH,kCAAiB,CAAA;AAClB,CAAC,EAnCW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAmCxB"}
@@ -1,135 +0,0 @@
1
- /**
2
- * Describe a database model
3
- */
4
- export interface DbModel {
5
- /**
6
- * The model tables
7
- */
8
- tables: DbTable[];
9
- }
10
- /**
11
- * Describe a table
12
- */
13
- export interface DbTable {
14
- /**
15
- * The table columns
16
- */
17
- columns: DbColumn[];
18
- /**
19
- * The table comment
20
- */
21
- comment?: string;
22
- /**
23
- * The table foreign keys
24
- */
25
- foreignKeys: DbForeignKey[];
26
- /**
27
- * The table indexes
28
- */
29
- indexes: DbIndex[];
30
- /**
31
- * The table name
32
- */
33
- name: string;
34
- /**
35
- * The table primary key
36
- */
37
- primaryKey?: DbPrimaryKey;
38
- }
39
- /**
40
- * Describe a table column
41
- */
42
- export interface DbColumn {
43
- /**
44
- * The column comment
45
- */
46
- comment?: string;
47
- /**
48
- * The table default value.
49
- * <empty> is no default value.
50
- * Value `''` for default value empty
51
- *
52
- */
53
- default?: string;
54
- /**
55
- * The column table
56
- */
57
- label?: string;
58
- /**
59
- * The column name
60
- */
61
- name: string;
62
- /**
63
- * If the column nullable
64
- */
65
- nullable?: boolean;
66
- /**
67
- * The column data type
68
- */
69
- type: string;
70
- }
71
- /**
72
- * Describe table primary key
73
- */
74
- export interface DbPrimaryKey {
75
- /**
76
- * If the primary key is clusterred
77
- */
78
- cluster?: boolean;
79
- /**
80
- * The primary key columns.
81
- *
82
- * Use comma `,` to split multiple columns.
83
- * E.g. `column, column2`
84
- */
85
- columns: string;
86
- }
87
- /**
88
- * Describe the table index
89
- */
90
- export interface DbIndex {
91
- /**
92
- * If the index is clusterred
93
- */
94
- cluster?: boolean;
95
- /**
96
- * The index columns.
97
- *
98
- * Use comma `,` to split multiple columns.
99
- * E.g. `column, column2`
100
- */
101
- columns: string;
102
- /**
103
- * If the index is unique
104
- */
105
- unique?: boolean;
106
- }
107
- /**
108
- * Describe the table foreign key
109
- */
110
- export interface DbForeignKey {
111
- /**
112
- * The foreign key columns.
113
- *
114
- * Use comma `,` to split multiple columns.
115
- * E.g. `column, column2`
116
- */
117
- columns: string;
118
- /**
119
- * The foreign key options
120
- *
121
- * E.g. `ON DELETE CASCADE`
122
- */
123
- options?: string;
124
- /**
125
- * The reference columns of the foreign key columns.
126
- *
127
- * Use comma `,` to split multiple columns.
128
- * E.g. `column, column2`
129
- */
130
- refColumns: string;
131
- /**
132
- * The reference table of the foreign key
133
- */
134
- refTable: string;
135
- }