@jorgebodega/typeorm-seeding 7.1.0-next.2 → 7.1.0-next.3

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/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ # [7.1.0-next.3](https://github.com/jorgebodega/typeorm-seeding/compare/v7.1.0-next.2...v7.1.0-next.3) (2024-10-04)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * load seeders classes using typeorm ([#324](https://github.com/jorgebodega/typeorm-seeding/issues/324)) ([#339](https://github.com/jorgebodega/typeorm-seeding/issues/339)) ([a2590cc](https://github.com/jorgebodega/typeorm-seeding/commit/a2590cc7a4d35a2f0899cd62274e2e0a5d07f6fd))
7
+
1
8
  # [7.1.0-next.2](https://github.com/jorgebodega/typeorm-seeding/compare/v7.1.0-next.1...v7.1.0-next.2) (2024-09-25)
2
9
 
3
10
 
@@ -29,8 +29,7 @@ async function run(paths) {
29
29
  spinner.start("Importing seeders");
30
30
  let seeders;
31
31
  try {
32
- const seederFiles = paths.flatMap(utils_1.calculateFilePath);
33
- seeders = await (0, utils_1.loadSeeders)(seederFiles);
32
+ seeders = await (0, utils_1.loadSeeders)(dataSource, paths);
34
33
  spinner.succeed("Seeder imported");
35
34
  }
36
35
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"seed.command.js","sourceRoot":"","sources":["../../src/commands/seed.command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seed.command.js","sourceRoot":"","sources":["../../src/commands/seed.command.ts"],"names":[],"mappings":";;AA2EA,8BAEC;;AA7ED,yCAAoC;AACpC,yCAAoC;AACpC,sDAAsB;AAEtB,sCAAmD;AACnD,qFAAkF;AAClF,yEAAsE;AACtE,wCAAuD;AAGvD,oCAAuD;AAEvD,KAAK,UAAU,GAAG,CAAC,KAAe;IACjC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAwB,CAAC;IACtD,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAE9E,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACpC,IAAI,UAAuB,CAAC;IAC5B,IAAI,CAAC;QACJ,MAAM,cAAc,GAAG,IAAA,mBAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAE/D,UAAU,GAAG,MAAM,IAAA,sBAAc,EAAC,cAAc,CAAC,CAAC;QAElD,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAChD,MAAM,IAAI,uDAA0B,CAAC,iCAAiC,EAAE;YACvE,KAAK,EAAE,KAAK;SACZ,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACnC,IAAI,OAAiC,CAAC;IACtC,IAAI,CAAC;QACJ,OAAO,GAAG,MAAM,IAAA,mBAAW,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAE/C,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACxC,MAAM,IAAI,+BAAsB,CAAC,iCAAiC,EAAE;YACnE,KAAK,EAAE,KAAK;SACZ,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACrC,IAAI,CAAC;QACJ,MAAM,IAAA,uBAAa,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAEtC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1C,MAAM,IAAA,oBAAU,EAAC,MAAM,CAAC,CAAC;YACzB,OAAO,CAAC,OAAO,CAAC,UAAU,MAAM,CAAC,IAAI,WAAW,CAAC,CAAC;QACnD,CAAC;IACF,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC1C,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;QAC3B,MAAM,IAAI,2CAAoB,CAAC,2BAA2B,EAAE;YAC3D,KAAK,EAAE,KAAK;SACZ,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpC,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,WAAW,GAAG,IAAI,mBAAO,CAAC,MAAM,CAAC;KACrC,WAAW,CAAC,iEAAiE,CAAC;KAC9E,cAAc,CACd,mCAAmC,EACnC,6DAA6D,EAC7D,iBAAiB,CACjB;KACA,QAAQ,CAAC,WAAW,EAAE,gDAAgD,CAAC;KACvE,MAAM,CAAC,GAAG,CAAC,CAAC;AAEP,KAAK,UAAU,SAAS,CAAC,IAAc;IAC7C,MAAM,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC"}
@@ -2,4 +2,4 @@ import type { DataSource } from "typeorm";
2
2
  import { Seeder } from "../seeder";
3
3
  import type { Constructable } from "../types";
4
4
  export declare function loadDataSource(dataSourceFilePath: string): Promise<DataSource>;
5
- export declare function loadSeeders(seederPaths: string[]): Promise<Constructable<Seeder>[]>;
5
+ export declare function loadSeeders(dataSource: DataSource, seederPaths: string[]): Promise<Constructable<Seeder>[]>;
@@ -2,26 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.loadDataSource = loadDataSource;
4
4
  exports.loadSeeders = loadSeeders;
5
+ const DirectoryExportedClassesLoader_1 = require("typeorm/util/DirectoryExportedClassesLoader");
5
6
  const CommandUtils_1 = require("typeorm/commands/CommandUtils");
6
7
  const seeder_1 = require("../seeder");
7
8
  async function loadDataSource(dataSourceFilePath) {
8
9
  return CommandUtils_1.CommandUtils.loadDataSource(dataSourceFilePath);
9
10
  }
10
- async function loadSeeders(seederPaths) {
11
- const seederFileExports = (await Promise.all(seederPaths.map((seederFile) => import(seederFile))))
12
- .map((seederExport) => seederExport.default?.default ?? seederExport.default)
13
- .filter((seederExport) => Boolean(seederExport));
14
- if (seederFileExports.length === 0) {
11
+ async function loadSeeders(dataSource, seederPaths) {
12
+ const seederFileExports = await (0, DirectoryExportedClassesLoader_1.importClassesFromDirectories)(dataSource.logger, seederPaths);
13
+ const seeders = seederFileExports.filter((seeder) => seeder.prototype instanceof seeder_1.Seeder);
14
+ if (seeders.length === 0) {
15
15
  throw new Error("No default seeders found");
16
16
  }
17
- const seeders = [];
18
- for (const fileExport in seederFileExports) {
19
- const seederExport = seederFileExports[fileExport];
20
- const instance = new seederExport();
21
- if (instance instanceof seeder_1.Seeder) {
22
- seeders.push(seederExport);
23
- }
24
- }
25
17
  return seeders;
26
18
  }
27
19
  //# sourceMappingURL=commandUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commandUtils.js","sourceRoot":"","sources":["../../src/utils/commandUtils.ts"],"names":[],"mappings":";;AAKA,wCAEC;AAED,kCAmBC;AA3BD,gEAAoF;AACpF,sCAAmC;AAG5B,KAAK,UAAU,cAAc,CAAC,kBAA0B;IAC9D,OAAO,2BAAmB,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;AAC/D,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,WAAqB;IACtD,MAAM,iBAAiB,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SAChG,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC;SAC5E,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IAElD,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,KAAK,MAAM,UAAU,IAAI,iBAAiB,EAAE,CAAC;QAC5C,MAAM,YAAY,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QACpC,IAAI,QAAQ,YAAY,eAAM,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;IACF,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"commandUtils.js","sourceRoot":"","sources":["../../src/utils/commandUtils.ts"],"names":[],"mappings":";;AAMA,wCAEC;AAED,kCAUC;AAnBD,gGAA2F;AAC3F,gEAAoF;AACpF,sCAAmC;AAG5B,KAAK,UAAU,cAAc,CAAC,kBAA0B;IAC9D,OAAO,2BAAmB,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;AAC/D,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,UAAsB,EAAE,WAAqB;IAC9E,MAAM,iBAAiB,GAAG,MAAM,IAAA,6DAA4B,EAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAE7F,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,YAAY,eAAM,CAA4B,CAAC;IAEpH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC"}
@@ -1,2 +1 @@
1
1
  export * from "./commandUtils";
2
- export * from "./fileHandling";
@@ -2,5 +2,4 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./commandUtils"), exports);
5
- tslib_1.__exportStar(require("./fileHandling"), exports);
6
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,yDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B"}
package/package.json CHANGED
@@ -9,18 +9,16 @@
9
9
  "dependencies": {
10
10
  "chalk": "4.1.2",
11
11
  "commander": "12.1.0",
12
- "glob": "11.0.0",
13
12
  "ora": "5.4.1",
14
13
  "tslib": "2.7.0"
15
14
  },
16
15
  "description": "🌱 A delightful way to seed test data into your database.",
17
16
  "devDependencies": {
18
- "@biomejs/biome": "1.9.2",
19
- "@faker-js/faker": "8.4.1",
20
- "@jorgebodega/typeorm-factory": "1.4.0",
21
- "@types/glob": "8.1.0",
17
+ "@biomejs/biome": "1.9.3",
18
+ "@faker-js/faker": "9.0.3",
19
+ "@jorgebodega/typeorm-factory": "2.1.0",
22
20
  "@types/jest": "29.5.13",
23
- "@types/node": "20.16.8",
21
+ "@types/node": "20.16.10",
24
22
  "jest": "29.7.0",
25
23
  "rimraf": "6.0.1",
26
24
  "sqlite3": "5.1.7",
@@ -66,5 +64,5 @@
66
64
  "typecheck": "tsc --noEmit"
67
65
  },
68
66
  "types": "dist/index.d.ts",
69
- "version": "7.1.0-next.2"
67
+ "version": "7.1.0-next.3"
70
68
  }
@@ -1 +0,0 @@
1
- export declare const calculateFilePath: (filePattern: string) => string[];
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.calculateFilePath = void 0;
4
- const glob_1 = require("glob");
5
- const calculateFilePath = (filePattern) => {
6
- return (0, glob_1.sync)(filePattern, { ignore: "**/node_modules/**", absolute: true });
7
- };
8
- exports.calculateFilePath = calculateFilePath;
9
- //# sourceMappingURL=fileHandling.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fileHandling.js","sourceRoot":"","sources":["../../src/utils/fileHandling.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAErB,MAAM,iBAAiB,GAAG,CAAC,WAAmB,EAAY,EAAE;IAClE,OAAO,IAAA,WAAI,EAAC,WAAW,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5E,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B"}