@alevnyacow/nzmt 0.25.1 → 0.26.0

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 (3) hide show
  1. package/README.md +1 -3
  2. package/bin/cli.js +7 -18
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -142,12 +142,10 @@ export default async function Page() {
142
142
  | `npx nzmt e <name>` | **e**ntity ||
143
143
  | `npx nzmt vo <name>` | **v**alue **o**bject ||
144
144
  | `npx nzmt cs <name>` | **c**ustom **s**tore (all schemas are `z.object({})`) ||
145
- | `npx nzmt p <name>` | **p**rovider | `pt:Console` will generate Console provider. Default value is `pt:API` |
145
+ | `npx nzmt p <name>` | **p**rovider | |
146
146
  | `npx nzmt s <name>` | **s**ervice |`i:UserStore,Logger` will automatically inject `UserStore` and `Logger`. E.g. `npx nzmt s shop i:UserStore,ProductStore` will create `ShopService` with already injected `UserStore` and `ProductStore`|
147
147
  | `npx nzmt c <name>` | **c**ontroller |`i:UserService` will automatically inject `UserService`. `Logger` and `Guards` are injected by default regardless of `i:` option|
148
148
 
149
- Here’s a shorter, simpler version in English:
150
-
151
149
  ---
152
150
 
153
151
  # How to implement your own methods
package/bin/cli.js CHANGED
@@ -434,7 +434,7 @@ function generateInfrastructure(upperCase, lowerCase) {
434
434
  insertBeforeLineInFile(
435
435
  diEntriesPath,
436
436
  'type DIEntries =',
437
- `import { ${upperCase} } from '@${config?.paths?.infrastructure}/${entityName}'`
437
+ `import { ${upperCase}, Mock${upperCase} } from '@${config?.paths?.infrastructure}/${entityName}'`
438
438
  )
439
439
 
440
440
  insertAfterLineInFile(
@@ -827,7 +827,7 @@ function generateProvider(lowerCase, upperCase) {
827
827
 
828
828
  fs.mkdirSync(folder, { recursive: true })
829
829
 
830
- // Base
830
+ // Provider
831
831
  fs.writeFileSync(path.resolve(folder, `${entityName}.provider.ts`), [
832
832
  `import { Module } from '@alevnyacow/nzmt',`,
833
833
  '',
@@ -836,9 +836,7 @@ function generateProvider(lowerCase, upperCase) {
836
836
  `\tschemas: {}`,
837
837
  `} satisfies Module.Metadata`,
838
838
  ``,
839
- `type Methods = Module.Methods<typeof ${lowerCase}ProviderMetadata>;`,
840
- ``,
841
- `export abstract class ${upperCase}Provider {`,
839
+ `export class ${upperCase}Provider {`,
842
840
  `\tprotected methods = Module.methods(${lowerCase}ProviderMetadata)`,
843
841
  `}`
844
842
  ].join('\n'))
@@ -847,16 +845,7 @@ function generateProvider(lowerCase, upperCase) {
847
845
  fs.writeFileSync(path.resolve(folder, `${entityName}.provider.mock.ts`), [
848
846
  `import { ${upperCase}Provider } from './${entityName}.provider'`,
849
847
  '',
850
- `export class ${upperCase}MockProvider extends ${upperCase}Provider {`,
851
- `\t`,
852
- `}`
853
- ].join('\n'))
854
-
855
- // Provider
856
- fs.writeFileSync(path.resolve(folder, `${entityName}.provider.${providerType.toLowerCase()}.ts`), [
857
- `import { ${upperCase}Provider } from './${entityName}.provider'`,
858
- '',
859
- `export class ${upperCase}${providerType}Provider extends ${upperCase}Provider {`,
848
+ `export class ${upperCase}MockProvider implements ${upperCase}Provider {`,
860
849
  `\t`,
861
850
  `}`
862
851
  ].join('\n'))
@@ -864,7 +853,7 @@ function generateProvider(lowerCase, upperCase) {
864
853
  // Barrel
865
854
  fs.writeFileSync(path.resolve(folder, `index.ts`), [
866
855
  `export * from './${entityName}.provider'`,
867
- `export * from './${entityName}.provider.${providerType.toLowerCase()}'`
856
+ `export * from './${entityName}.provider.mock'`
868
857
  ].join('\n'))
869
858
 
870
859
  // Update DI
@@ -873,13 +862,13 @@ function generateProvider(lowerCase, upperCase) {
873
862
  insertBeforeLineInFile(
874
863
  diEntriesPath,
875
864
  'type DIEntries =',
876
- `import { ${upperCase}MockProvider, ${upperCase}${providerType}Provider } from '@${config?.paths?.providers}/${entityName}'`
865
+ `import { ${upperCase}MockProvider, ${upperCase}Provider } from '@${config?.paths?.providers}/${entityName}'`
877
866
  )
878
867
 
879
868
  insertAfterLineInFile(
880
869
  diEntriesPath,
881
870
  '// Providers',
882
- `\t${upperCase}Provider: { test: ${upperCase}MockProvider, prod: ${upperCase}${providerType}Provider, dev: ${upperCase}${providerType}Provider },`,
871
+ `\t${upperCase}Provider: { test: ${upperCase}MockProvider, prod: ${upperCase}Provider, dev: ${upperCase}Provider },`,
883
872
  )
884
873
  }
885
874
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alevnyacow/nzmt",
3
- "version": "0.25.1",
3
+ "version": "0.26.0",
4
4
  "description": "Next Zod Modules Toolkit",
5
5
  "keywords": ["next", "full-stack", "server", "backend", "cli", "scaffolding", "zod", "rest", "contract programming", "contract-first", "react-query", "ddd", "domain-driven"],
6
6
  "repository": {