@ooneex/seeds 1.2.2 → 1.2.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/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{container as l,EContainerScope as f}from"@ooneex/container";var n=[];var u={seed:(o=f.Singleton)=>{return(e)=>{l.add(e,o),n.push(e)}}};import{container as S}from"@ooneex/container";var i=()=>{return n.map((e)=>{return S.get(e)}).filter((e)=>e.isActive())};import{join as a}from"path";import{toPascalCase as w}from"@ooneex/utils";var{Glob:T}=globalThis.Bun;var d=`import { decorator, type ISeed, type SeedClassType } from "@ooneex/seeds";
2
+ import{container as l,EContainerScope as f,injectable as u}from"@ooneex/container";var n=[];var S={seed:(o=f.Singleton)=>{return(e)=>{u()(e),l.add(e,o),n.push(e)}}};import{container as y}from"@ooneex/container";var i=()=>{return n.map((e)=>{return y.get(e)}).filter((e)=>e.isActive())};import{join as a}from"path";import{toPascalCase as T}from"@ooneex/utils";var{Glob:g}=globalThis.Bun;var d=`import { decorator, type ISeed, type SeedClassType } from "@ooneex/seeds";
3
3
 
4
4
  @decorator.seed()
5
5
  export class {{ name }} implements ISeed {
@@ -18,15 +18,15 @@ export class {{ name }} implements ISeed {
18
18
  return [];
19
19
  }
20
20
  }
21
- `;var g=async(o)=>{let e=`${w(o.name)}Seed`,s=o.dir||"seeds";await Bun.write(a(process.cwd(),s,`${e}.ts`),d.replaceAll("{{ name }}",e));let r=[],t=new T("**/*Seed.ts");for await(let c of t.scan(s)){let p=c.replace(/\.ts$/,"");r.push(`export { ${p} } from './${p}';`)}return await Bun.write(a(process.cwd(),s,"seeds.ts"),`${r.sort().join(`
21
+ `;var x=async(o)=>{let e=`${T(o.name)}Seed`,s=o.dir||"seeds";await Bun.write(a(process.cwd(),s,`${e}.ts`),d.replaceAll("{{ name }}",e));let r=[],t=new g("**/*Seed.ts");for await(let c of t.scan(s)){let p=c.replace(/\.ts$/,"");r.push(`export { ${p} } from './${p}';`)}return await Bun.write(a(process.cwd(),s,"seeds.ts"),`${r.sort().join(`
22
22
  `)}
23
- `),a(s,`${e}.ts`)};import{container as x}from"@ooneex/container";import{TerminalLogger as h}from"@ooneex/logger";var m=async(o)=>{let e=[],s=await o.getDependencies();for(let r of s){let t=x.get(r);e.push(await m(t))}await o.run(e)},C=async()=>{let o=i(),e=new h;if(o.length===0){e.info(`No seeds found
23
+ `),a(s,`${e}.ts`)};import{container as h}from"@ooneex/container";import{TerminalLogger as C}from"@ooneex/logger";var m=async(o)=>{let e=[],s=await o.getDependencies();for(let r of s){let t=h.get(r);e.push(await m(t))}await o.run(e)},b=async()=>{let o=i(),e=new C;if(o.length===0){e.info(`No seeds found
24
24
  `,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0});return}e.info(`Running ${o.length} seed(s)...
25
25
  `,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0});for(let s of o){let r=s.constructor.name;if(!s.isActive()){e.warn(`Seed ${r} is inactive
26
26
  `,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0});continue}try{await m(s),e.success(`Seed ${r} completed
27
27
  `,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0})}catch(t){e.error(`Seed ${r} failed
28
28
  `,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0}),e.error(t),process.exit(1)}}e.success(`
29
29
  All seeds completed successfully
30
- `,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0})};export{C as seedRun,g as seedCreate,i as getSeeds,u as decorator};
30
+ `,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0})};export{b as seedRun,x as seedCreate,i as getSeeds,S as decorator};
31
31
 
32
- //# debugId=37A71979F4BD9CF264756E2164756E21
32
+ //# debugId=F5DEB2030D3D85E764756E2164756E21
package/dist/index.js.map CHANGED
@@ -2,13 +2,13 @@
2
2
  "version": 3,
3
3
  "sources": ["src/decorators.ts", "src/container.ts", "src/getSeeds.ts", "src/seedCreate.ts", "src/seedRun.ts"],
4
4
  "sourcesContent": [
5
- "import { container, EContainerScope } from \"@ooneex/container\";\nimport { SEEDS_CONTAINER } from \"./container\";\nimport type { SeedClassType } from \"./types\";\n\nexport const decorator = {\n seed: (scope: EContainerScope = EContainerScope.Singleton) => {\n return (target: SeedClassType): void => {\n container.add(target, scope);\n SEEDS_CONTAINER.push(target);\n };\n },\n};\n",
5
+ "import { container, EContainerScope, injectable } from \"@ooneex/container\";\nimport { SEEDS_CONTAINER } from \"./container\";\nimport type { SeedClassType } from \"./types\";\n\nexport const decorator = {\n seed: (scope: EContainerScope = EContainerScope.Singleton) => {\n return (target: SeedClassType): void => {\n injectable()(target);\n container.add(target, scope);\n SEEDS_CONTAINER.push(target);\n };\n },\n};\n",
6
6
  "import type { SeedClassType } from \"./types\";\n\nexport const SEEDS_CONTAINER: SeedClassType[] = [];\n",
7
7
  "import { container } from \"@ooneex/container\";\nimport { SEEDS_CONTAINER } from \"./container\";\nimport type { ISeed } from \"./types\";\n\nexport const getSeeds = (): ISeed[] => {\n const seedInstances = SEEDS_CONTAINER.map((SeedClass) => {\n return container.get(SeedClass);\n });\n\n return seedInstances.filter((seed) => seed.isActive());\n};\n",
8
8
  "import { join } from \"node:path\";\nimport { toPascalCase } from \"@ooneex/utils\";\nimport { Glob } from \"bun\";\nimport content from \"./seed.txt\";\n\nexport const seedCreate = async (config: { name: string; dir?: string }): Promise<string> => {\n const name = `${toPascalCase(config.name)}Seed`;\n const seedsDir = config.dir || \"seeds\";\n\n await Bun.write(join(process.cwd(), seedsDir, `${name}.ts`), content.replaceAll(\"{{ name }}\", name));\n\n const imports: string[] = [];\n const glob = new Glob(\"**/*Seed.ts\");\n for await (const file of glob.scan(seedsDir)) {\n const name = file.replace(/\\.ts$/, \"\");\n imports.push(`export { ${name} } from './${name}';`);\n }\n\n await Bun.write(join(process.cwd(), seedsDir, \"seeds.ts\"), `${imports.sort().join(\"\\n\")}\\n`);\n\n return join(seedsDir, `${name}.ts`);\n};\n",
9
9
  "import { container } from \"@ooneex/container\";\nimport type { IException } from \"@ooneex/exception\";\nimport { TerminalLogger } from \"@ooneex/logger\";\nimport { getSeeds } from \"./getSeeds\";\nimport type { ISeed } from \"./types\";\n\nconst run = async (seed: ISeed): Promise<void> => {\n const data = [];\n\n const dependencies = await seed.getDependencies();\n\n for (const dependency of dependencies) {\n const dep = container.get(dependency);\n data.push(await run(dep));\n }\n\n await seed.run(data);\n};\n\nexport const seedRun = async (): Promise<void> => {\n const seeds = getSeeds();\n const logger = new TerminalLogger();\n\n if (seeds.length === 0) {\n logger.info(\"No seeds found\\n\", undefined, {\n showTimestamp: false,\n showArrow: false,\n useSymbol: true,\n });\n return;\n }\n\n logger.info(`Running ${seeds.length} seed(s)...\\n`, undefined, {\n showTimestamp: false,\n showArrow: false,\n useSymbol: true,\n });\n\n for (const seed of seeds) {\n const seedName = seed.constructor.name;\n\n if (!seed.isActive()) {\n logger.warn(`Seed ${seedName} is inactive\\n`, undefined, {\n showTimestamp: false,\n showArrow: false,\n useSymbol: true,\n });\n continue;\n }\n\n try {\n await run(seed);\n logger.success(`Seed ${seedName} completed\\n`, undefined, {\n showTimestamp: false,\n showArrow: false,\n useSymbol: true,\n });\n } catch (error) {\n logger.error(`Seed ${seedName} failed\\n`, undefined, {\n showTimestamp: false,\n showArrow: false,\n useSymbol: true,\n });\n logger.error(error as IException);\n process.exit(1);\n }\n }\n\n logger.success(\"\\nAll seeds completed successfully\\n\", undefined, {\n showTimestamp: false,\n showArrow: false,\n useSymbol: true,\n });\n};\n"
10
10
  ],
11
- "mappings": ";AAAA,oBAAS,qBAAW,0BCEb,IAAM,EAAmC,CAAC,EDE1C,IAAM,EAAY,CACvB,KAAM,CAAC,EAAyB,EAAgB,YAAc,CAC5D,MAAO,CAAC,IAAgC,CACtC,EAAU,IAAI,EAAQ,CAAK,EAC3B,EAAgB,KAAK,CAAM,GAGjC,EEXA,oBAAS,0BAIF,IAAM,EAAW,IAAe,CAKrC,OAJsB,EAAgB,IAAI,CAAC,IAAc,CACvD,OAAO,EAAU,IAAI,CAAS,EAC/B,EAEoB,OAAO,CAAC,IAAS,EAAK,SAAS,CAAC,GCTvD,eAAS,aACT,uBAAS,sBACT;;;;;;;;;;;;;;;;;;;EAGO,IAAM,EAAa,MAAO,IAA4D,CAC3F,IAAM,EAAO,GAAG,EAAa,EAAO,IAAI,QAClC,EAAW,EAAO,KAAO,QAE/B,MAAM,IAAI,MAAM,EAAK,QAAQ,IAAI,EAAG,EAAU,GAAG,MAAS,EAAG,EAAQ,WAAW,aAAc,CAAI,CAAC,EAEnG,IAAM,EAAoB,CAAC,EACrB,EAAO,IAAI,EAAK,aAAa,EACnC,cAAiB,KAAQ,EAAK,KAAK,CAAQ,EAAG,CAC5C,IAAM,EAAO,EAAK,QAAQ,QAAS,EAAE,EACrC,EAAQ,KAAK,YAAY,eAAkB,KAAQ,EAKrD,OAFA,MAAM,IAAI,MAAM,EAAK,QAAQ,IAAI,EAAG,EAAU,UAAU,EAAG,GAAG,EAAQ,KAAK,EAAE,KAAK;AAAA,CAAI;AAAA,CAAK,EAEpF,EAAK,EAAU,GAAG,MAAS,GCpBpC,oBAAS,0BAET,yBAAS,uBAIT,IAAM,EAAM,MAAO,IAA+B,CAChD,IAAM,EAAO,CAAC,EAER,EAAe,MAAM,EAAK,gBAAgB,EAEhD,QAAW,KAAc,EAAc,CACrC,IAAM,EAAM,EAAU,IAAI,CAAU,EACpC,EAAK,KAAK,MAAM,EAAI,CAAG,CAAC,EAG1B,MAAM,EAAK,IAAI,CAAI,GAGR,EAAU,SAA2B,CAChD,IAAM,EAAQ,EAAS,EACjB,EAAS,IAAI,EAEnB,GAAI,EAAM,SAAW,EAAG,CACtB,EAAO,KAAK;AAAA,EAAoB,OAAW,CACzC,cAAe,GACf,UAAW,GACX,UAAW,EACb,CAAC,EACD,OAGF,EAAO,KAAK,WAAW,EAAM;AAAA,EAAuB,OAAW,CAC7D,cAAe,GACf,UAAW,GACX,UAAW,EACb,CAAC,EAED,QAAW,KAAQ,EAAO,CACxB,IAAM,EAAW,EAAK,YAAY,KAElC,GAAI,CAAC,EAAK,SAAS,EAAG,CACpB,EAAO,KAAK,QAAQ;AAAA,EAA0B,OAAW,CACvD,cAAe,GACf,UAAW,GACX,UAAW,EACb,CAAC,EACD,SAGF,GAAI,CACF,MAAM,EAAI,CAAI,EACd,EAAO,QAAQ,QAAQ;AAAA,EAAwB,OAAW,CACxD,cAAe,GACf,UAAW,GACX,UAAW,EACb,CAAC,EACD,MAAO,EAAO,CACd,EAAO,MAAM,QAAQ;AAAA,EAAqB,OAAW,CACnD,cAAe,GACf,UAAW,GACX,UAAW,EACb,CAAC,EACD,EAAO,MAAM,CAAmB,EAChC,QAAQ,KAAK,CAAC,GAIlB,EAAO,QAAQ;AAAA;AAAA,EAAwC,OAAW,CAChE,cAAe,GACf,UAAW,GACX,UAAW,EACb,CAAC",
12
- "debugId": "37A71979F4BD9CF264756E2164756E21",
11
+ "mappings": ";AAAA,oBAAS,qBAAW,gBAAiB,0BCE9B,IAAM,EAAmC,CAAC,EDE1C,IAAM,EAAY,CACvB,KAAM,CAAC,EAAyB,EAAgB,YAAc,CAC5D,MAAO,CAAC,IAAgC,CACtC,EAAW,EAAE,CAAM,EACnB,EAAU,IAAI,EAAQ,CAAK,EAC3B,EAAgB,KAAK,CAAM,GAGjC,EEZA,oBAAS,0BAIF,IAAM,EAAW,IAAe,CAKrC,OAJsB,EAAgB,IAAI,CAAC,IAAc,CACvD,OAAO,EAAU,IAAI,CAAS,EAC/B,EAEoB,OAAO,CAAC,IAAS,EAAK,SAAS,CAAC,GCTvD,eAAS,aACT,uBAAS,sBACT;;;;;;;;;;;;;;;;;;;EAGO,IAAM,EAAa,MAAO,IAA4D,CAC3F,IAAM,EAAO,GAAG,EAAa,EAAO,IAAI,QAClC,EAAW,EAAO,KAAO,QAE/B,MAAM,IAAI,MAAM,EAAK,QAAQ,IAAI,EAAG,EAAU,GAAG,MAAS,EAAG,EAAQ,WAAW,aAAc,CAAI,CAAC,EAEnG,IAAM,EAAoB,CAAC,EACrB,EAAO,IAAI,EAAK,aAAa,EACnC,cAAiB,KAAQ,EAAK,KAAK,CAAQ,EAAG,CAC5C,IAAM,EAAO,EAAK,QAAQ,QAAS,EAAE,EACrC,EAAQ,KAAK,YAAY,eAAkB,KAAQ,EAKrD,OAFA,MAAM,IAAI,MAAM,EAAK,QAAQ,IAAI,EAAG,EAAU,UAAU,EAAG,GAAG,EAAQ,KAAK,EAAE,KAAK;AAAA,CAAI;AAAA,CAAK,EAEpF,EAAK,EAAU,GAAG,MAAS,GCpBpC,oBAAS,0BAET,yBAAS,uBAIT,IAAM,EAAM,MAAO,IAA+B,CAChD,IAAM,EAAO,CAAC,EAER,EAAe,MAAM,EAAK,gBAAgB,EAEhD,QAAW,KAAc,EAAc,CACrC,IAAM,EAAM,EAAU,IAAI,CAAU,EACpC,EAAK,KAAK,MAAM,EAAI,CAAG,CAAC,EAG1B,MAAM,EAAK,IAAI,CAAI,GAGR,EAAU,SAA2B,CAChD,IAAM,EAAQ,EAAS,EACjB,EAAS,IAAI,EAEnB,GAAI,EAAM,SAAW,EAAG,CACtB,EAAO,KAAK;AAAA,EAAoB,OAAW,CACzC,cAAe,GACf,UAAW,GACX,UAAW,EACb,CAAC,EACD,OAGF,EAAO,KAAK,WAAW,EAAM;AAAA,EAAuB,OAAW,CAC7D,cAAe,GACf,UAAW,GACX,UAAW,EACb,CAAC,EAED,QAAW,KAAQ,EAAO,CACxB,IAAM,EAAW,EAAK,YAAY,KAElC,GAAI,CAAC,EAAK,SAAS,EAAG,CACpB,EAAO,KAAK,QAAQ;AAAA,EAA0B,OAAW,CACvD,cAAe,GACf,UAAW,GACX,UAAW,EACb,CAAC,EACD,SAGF,GAAI,CACF,MAAM,EAAI,CAAI,EACd,EAAO,QAAQ,QAAQ;AAAA,EAAwB,OAAW,CACxD,cAAe,GACf,UAAW,GACX,UAAW,EACb,CAAC,EACD,MAAO,EAAO,CACd,EAAO,MAAM,QAAQ;AAAA,EAAqB,OAAW,CACnD,cAAe,GACf,UAAW,GACX,UAAW,EACb,CAAC,EACD,EAAO,MAAM,CAAmB,EAChC,QAAQ,KAAK,CAAC,GAIlB,EAAO,QAAQ;AAAA;AAAA,EAAwC,OAAW,CAChE,cAAe,GACf,UAAW,GACX,UAAW,EACb,CAAC",
12
+ "debugId": "F5DEB2030D3D85E764756E2164756E21",
13
13
  "names": []
14
14
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ooneex/seeds",
3
3
  "description": "Database seeding framework for populating initial data, fixtures, and test datasets with execution logging and idempotent operations",
4
- "version": "1.2.2",
4
+ "version": "1.2.3",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist",
@@ -30,7 +30,7 @@
30
30
  "dependencies": {
31
31
  "@ooneex/container": "1.1.2",
32
32
  "@ooneex/logger": "1.2.2",
33
- "@ooneex/utils": "0.3.1"
33
+ "@ooneex/utils": "0.4.0"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@ooneex/exception": "1.1.2"