@postxl/generator 0.44.3 → 0.44.5

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 (43) hide show
  1. package/dist/generator.js +8 -9
  2. package/dist/generators/enums/react.generator.js +1 -1
  3. package/dist/generators/indices/businesslogic-update-module.generator.js +1 -1
  4. package/dist/generators/indices/businesslogic-view-module.generator.js +1 -1
  5. package/dist/generators/indices/data-types.generator.js +4 -3
  6. package/dist/generators/indices/datamock-module.generator.js +3 -3
  7. package/dist/generators/indices/datamocker.generator.js +5 -4
  8. package/dist/generators/indices/datamodule.generator.js +3 -3
  9. package/dist/generators/indices/dataservice.generator.js +5 -4
  10. package/dist/generators/indices/dispatcher-service.generator.js +4 -3
  11. package/dist/generators/indices/importexport-convert-import-functions.generator.js +29 -24
  12. package/dist/generators/indices/importexport-exporter-class.generator.js +4 -3
  13. package/dist/generators/indices/importexport-import-service.generator.js +27 -12
  14. package/dist/generators/indices/importexport-types.generator.js +9 -4
  15. package/dist/generators/indices/stubs.generator.js +2 -2
  16. package/dist/generators/indices/testdata-service.generator.js +5 -2
  17. package/dist/generators/models/businesslogic-update.generator.js +11 -10
  18. package/dist/generators/models/businesslogic-view.generator.js +4 -3
  19. package/dist/generators/models/importexport-decoder.generator.d.ts +2 -1
  20. package/dist/generators/models/importexport-decoder.generator.js +20 -19
  21. package/dist/generators/models/react.generator/context.generator.js +1 -1
  22. package/dist/generators/models/react.generator/index.js +2 -8
  23. package/dist/generators/models/react.generator/library.generator.d.ts +0 -2
  24. package/dist/generators/models/react.generator/library.generator.js +3 -5
  25. package/dist/generators/models/react.generator/lookup.generator.js +3 -6
  26. package/dist/generators/models/react.generator/modals.generator.js +4 -4
  27. package/dist/generators/models/repository.generator.js +26 -17
  28. package/dist/generators/models/route.generator.js +3 -2
  29. package/dist/generators/models/seed.generator.js +5 -4
  30. package/dist/generators/models/stub.generator.js +7 -2
  31. package/dist/generators/models/types.generator.js +7 -3
  32. package/dist/lib/exports.d.ts +2 -2
  33. package/dist/lib/imports.d.ts +12 -3
  34. package/dist/lib/imports.js +47 -15
  35. package/dist/lib/meta.d.ts +163 -88
  36. package/dist/lib/meta.js +68 -23
  37. package/dist/lib/schema/schema.d.ts +15 -18
  38. package/dist/lib/schema/types.d.ts +35 -5
  39. package/dist/lib/schema/types.js +20 -2
  40. package/dist/lib/types.d.ts +1 -1
  41. package/dist/lib/types.js +1 -1
  42. package/dist/prisma/parse.js +7 -9
  43. package/package.json +1 -1
package/dist/generator.js CHANGED
@@ -82,7 +82,6 @@ const client_path_1 = require("./prisma/client-path");
82
82
  const parse_1 = require("./prisma/parse");
83
83
  const CONFIG_SCHEMA = zod_1.z
84
84
  .object({
85
- project: zod_1.z.string(),
86
85
  pathToDataLib: zod_1.z.string().optional(),
87
86
  pathToCypress: zod_1.z.string().optional(),
88
87
  pathToE2ELib: zod_1.z.string().optional(),
@@ -106,7 +105,6 @@ const CONFIG_SCHEMA = zod_1.z
106
105
  })
107
106
  .transform((s) => {
108
107
  return {
109
- project: s.project,
110
108
  paths: {
111
109
  dataLibPath: (0, types_1.toPath)(s.pathToDataLib || 'repos'),
112
110
  cypressPath: (0, types_1.toPath)(s.pathToCypress || './e2e/cypress/'),
@@ -187,11 +185,11 @@ function generate({ models, enums, config, prismaClientPath, logger, }) {
187
185
  generated.write(`/${meta.data.stubFilePath}.ts`, (0, stub_generator_1.generateStub)({ model, meta }));
188
186
  generated.write(`/${meta.data.repository.filePath}.ts`, (0, repository_generator_1.generateRepository)({ model, meta }));
189
187
  generated.write(`/${meta.data.mockRepository.filePath}.ts`, (0, repository_generator_1.generateMockRepository)({ model, meta }));
190
- generated.write(`/${meta.data.dataMockerStubFilePath}.ts`, (0, stub_generator_1.generateStub)({ model, meta }));
188
+ generated.write(`/${meta.e2e.dataMockerStubFilePath}.ts`, (0, stub_generator_1.generateStub)({ model, meta }));
191
189
  }
192
190
  // Import-Export
193
191
  if (!config.disableGenerators.importExport) {
194
- generated.write(`/${meta.importExport.decoder.filePath}.ts`, (0, importexport_decoder_generator_1.generateModelImportExportDecoder)({ model, meta }));
192
+ generated.write(`/${meta.importExport.decoder.filePath}.ts`, (0, importexport_decoder_generator_1.generateModelImportExportDecoder)({ model, meta, schemaMeta: (0, meta_1.getSchemaMetadata)({ config }) }));
195
193
  }
196
194
  // Business Logic
197
195
  if (!config.disableGenerators.businessLogic) {
@@ -224,10 +222,10 @@ function generate({ models, enums, config, prismaClientPath, logger, }) {
224
222
  generated.write(`/${meta.data.dataMockModuleFilePath}.ts`, (0, datamock_module_generator_1.generateDataMockModule)({ models, meta }));
225
223
  generated.write(`/${meta.data.dataModuleFilePath}.ts`, (0, datamodule_generator_1.generateDataModule)({ models, meta }));
226
224
  generated.write(`/${meta.data.dataService.filePath}.ts`, (0, dataservice_generator_1.generateDataService)({ models, meta }));
227
- generated.write(`/${meta.data.dataMockerFilePath}.ts`, (0, datamocker_generator_1.generateDataMocker)({ models, meta }));
228
- generated.write(`/${meta.data.selectorsFilePath}.ts`, (0, selectors_generator_1.generateSelectors)());
229
225
  generated.write(`/${meta.data.testDataServiceFilePath}.ts`, (0, testdata_service_generator_1.generateTestDataService)({ models, meta }));
230
- generated.write(`/${meta.data.dataMockerStubIndexFilePath}.ts`, (0, stubs_generator_1.generateDataMockerStubsIndex)({ models, meta }));
226
+ generated.write(`/${meta.e2e.dataMocker.filePath}.ts`, (0, datamocker_generator_1.generateDataMocker)({ models, meta }));
227
+ generated.write(`/${meta.e2e.selectorsFilePath}.ts`, (0, selectors_generator_1.generateSelectors)());
228
+ generated.write(`/${meta.e2e.dataMocker.stubIndexFilePath}.ts`, (0, stubs_generator_1.generateDataMockerStubsIndex)({ models, meta }));
231
229
  generated.write(`/${meta.data.repository.constFilePath}.ts`, (0, repositories_generator_1.generateRepositoriesArray)({ models, meta }));
232
230
  generated.write(`/${meta.data.repository.indexFilePath}.ts`, (0, repositories_generator_1.generateRepositoriesIndex)({ models, meta }));
233
231
  generated.write(`/${meta.data.stubIndexFilePath}.ts`, (0, stubs_generator_1.generateStubsIndex)({ models, meta }));
@@ -272,6 +270,7 @@ function generate({ models, enums, config, prismaClientPath, logger, }) {
272
270
  // -------------------------------------------------------------------------
273
271
  // Add disclaimer and format.
274
272
  yield generated.transformUTF8Files((path, content) => `${DISCLAIMER}\n${content}`);
273
+ // Important: the eslint config provided here must match the .eslintrc files in the template!
275
274
  const lintResult = yield generated.lintUTF8Files({
276
275
  fix: true,
277
276
  useEslintrc: false,
@@ -306,11 +305,11 @@ function generate({ models, enums, config, prismaClientPath, logger, }) {
306
305
  // Side effect imports.
307
306
  ['^\\u0000'],
308
307
  // Any packages that starts with an @ but not libraries we defined in tsconfig.json:
309
- ['^@(?!(pxl|postxl|assets|hooks|components|i18n|lib))'],
308
+ ['^@(?!(postxl|assets|backend|hooks|components|i18n|lib))'],
310
309
  // Any other package.
311
310
  ['^'],
312
311
  // Internal PXL packages.
313
- ['^(@pxl|@postxl|@assets|@hooks|@components|@i18n|@lib)(/.*|$)'],
312
+ ['^(@postxl|@assets|@backend|@hooks|@components|@i18n|@lib)(/.*|$)'],
314
313
  // Parent imports. Put `..` last.
315
314
  ['^\\.\\.(?!/?$)', '^\\.\\./?$'],
316
315
  // Other relative imports. Put same-folder imports and `.` last.
@@ -20,7 +20,7 @@ exports.generateEnumReactComponents = generateEnumReactComponents;
20
20
  * Utility function that generates the select component for a given enumerator.
21
21
  */
22
22
  function generateEnumSelect({ enumerator, meta }) {
23
- const imports = imports_1.ImportsGenerator.from(meta.react.folderPath).addImport({
23
+ const imports = imports_1.ImportsGenerator.from(meta.react.folderPath).addTypeImport({
24
24
  items: [enumerator.tsTypeName],
25
25
  from: meta.types.importPath,
26
26
  });
@@ -25,7 +25,7 @@ function generateBusinessLogicUpdateModule({ models, meta }) {
25
25
  }
26
26
  const moduleName = meta.businessLogic.update.moduleName;
27
27
  return /* ts */ `
28
- import { DynamicModule } from '@${meta.config.project}/common'
28
+ import { DynamicModule } from '@backend/common'
29
29
 
30
30
  ${imports.generate()}
31
31
 
@@ -24,7 +24,7 @@ function generateBusinessLogicViewModule({ models, meta }) {
24
24
  }
25
25
  const moduleName = meta.businessLogic.view.moduleName;
26
26
  return /* ts */ `
27
- import { DynamicModule } from '@${meta.config.project}/common'
27
+ import { DynamicModule } from '@backend/common'
28
28
 
29
29
  ${imports.generate()}
30
30
 
@@ -10,13 +10,14 @@ function generateDataTypes({ models, meta }) {
10
10
  const { types } = meta.data;
11
11
  const imports = imports_1.ImportsGenerator.from(types.filePath);
12
12
  const dto = meta.types.dto;
13
- imports.addImports({
14
- [meta.types.importPath]: [dto.create, dto.update, dto.upsert, dto.genericModel, dto.idType],
13
+ imports.addTypeImport({
14
+ from: meta.types.importPath,
15
+ items: [dto.create, dto.update, dto.upsert, dto.genericModel, dto.idType],
15
16
  });
16
17
  const modelTypes = [];
17
18
  for (const model of models) {
18
19
  const modelMeta = (0, meta_1.getModelMetadata)({ model });
19
- imports.addImport({
20
+ imports.addTypeImport({
20
21
  items: [modelMeta.types.typeName, modelMeta.types.brandedIdType],
21
22
  from: modelMeta.types.importPath,
22
23
  });
@@ -39,7 +39,7 @@ function generateDataMockModule({ models, meta }) {
39
39
  [meta.actions.importPath]: [meta.actions.actionExecution.mock],
40
40
  });
41
41
  for (const { model, meta } of mm) {
42
- imports.addImport({ items: [model.typeName], from: meta.types.importPath });
42
+ imports.addTypeImport({ items: [model.typeName], from: meta.types.importPath });
43
43
  imports.addImport({ items: [meta.data.repository.className], from: meta.data.repository.filePath });
44
44
  imports.addImport({ items: [meta.data.mockRepository.className], from: meta.data.mockRepository.filePath });
45
45
  }
@@ -56,8 +56,8 @@ function generateDataMockModule({ models, meta }) {
56
56
  }`)
57
57
  .join(', ');
58
58
  return /* ts */ `
59
- import { DynamicModule } from '@pxl/common'
60
- import { DbModule } from '@${meta.config.project}/db'
59
+ import { DynamicModule } from '@backend/common'
60
+ import { DbModule } from '@backend/db'
61
61
 
62
62
  ${imports.generate()}
63
63
 
@@ -4,16 +4,17 @@ exports.generateDataMocker = void 0;
4
4
  const imports_1 = require("../../lib/imports");
5
5
  const meta_1 = require("../../lib/meta");
6
6
  const schema_1 = require("../../lib/schema/schema");
7
+ const types_1 = require("../../lib/schema/types");
7
8
  /**
8
9
  * Generates a generic data mocker class.
9
10
  */
10
11
  function generateDataMocker({ models, meta: schemaMeta }) {
11
12
  const modelMetas = models.map((model) => ({ model, meta: (0, meta_1.getModelMetadata)({ model }) }));
12
- const imports = imports_1.ImportsGenerator.from(schemaMeta.data.dataMockerFilePath);
13
+ const imports = imports_1.ImportsGenerator.from(schemaMeta.e2e.dataMocker.filePath);
13
14
  for (const { model, meta } of modelMetas) {
14
15
  imports.addImports({
15
- [meta.types.importPath]: [model.typeName],
16
- [schemaMeta.data.dataMockerStubImportPath]: [meta.data.stubGenerationFnName],
16
+ [meta.types.importPath]: [(0, types_1.toAnnotatedTypeName)(model.typeName)],
17
+ [schemaMeta.e2e.dataMocker.stubImportPath]: [meta.data.stubGenerationFnName],
17
18
  });
18
19
  }
19
20
  const publicVariables = modelMetas
@@ -25,7 +26,7 @@ function generateDataMocker({ models, meta: schemaMeta }) {
25
26
  const addDataFunctions = modelMetas.map(({ model, meta }) => generateAddDataFunction(model, meta)).join('\n');
26
27
  return `
27
28
  /* eslint-disable @typescript-eslint/no-unused-vars */
28
- import type { MockData } from '@pxl/data'
29
+ import type { MockData } from '@backend/data'
29
30
 
30
31
  ${imports.generate()}
31
32
 
@@ -22,9 +22,9 @@ function generateDataModule({ models, meta }) {
22
22
  return /* ts */ `
23
23
  import { FactoryProvider } from '@nestjs/common'
24
24
 
25
- import { DynamicModule } from '@${meta.config.project}/common'
26
- import { DbModule, DbService } from '@${meta.config.project}/db'
27
- import { E2EConfig } from '@${meta.config.project}/e2e'
25
+ import { DynamicModule } from '@backend/common'
26
+ import { DbModule, DbService } from '@backend/db'
27
+ import { E2EConfig } from '@backend/e2e'
28
28
 
29
29
  ${imports.generate()}
30
30
 
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateDataService = void 0;
4
4
  const imports_1 = require("../../lib/imports");
5
5
  const meta_1 = require("../../lib/meta");
6
+ const types_1 = require("../../lib/schema/types");
6
7
  /**
7
8
  * Generates a generic data service object that may be used on the server to access database.
8
9
  */
@@ -25,9 +26,9 @@ function generateDataService({ models, meta }) {
25
26
  const isEmptyChecks = mm.map(({ meta }) => `(await this.${meta.data.dataServiceName}.count()) === 0`).join(' &&');
26
27
  // Building blocks for bulk mutations
27
28
  imports.addImports({
28
- [meta.types.importPath]: [meta.types.dto.create, meta.types.dto.update],
29
- [meta.data.repository.typeFilePath]: [meta.data.repository.typeName],
30
- [meta.data.types.filePath]: [meta.data.types.bulkMutation],
29
+ [meta.types.importPath]: [(0, types_1.toAnnotatedTypeName)(meta.types.dto.create), (0, types_1.toAnnotatedTypeName)(meta.types.dto.update)],
30
+ [meta.data.repository.typeFilePath]: [(0, types_1.toAnnotatedTypeName)(meta.data.repository.typeName)],
31
+ [meta.data.types.filePath]: [(0, types_1.toAnnotatedTypeName)(meta.data.types.bulkMutation)],
31
32
  [meta.actions.importPath]: [meta.actions.actionExecution.interface],
32
33
  });
33
34
  const creates = [];
@@ -44,7 +45,7 @@ function generateDataService({ models, meta }) {
44
45
  return /* ts */ `
45
46
  import { Injectable, Logger } from '@nestjs/common'
46
47
 
47
- import { format, mapValues, pluralize } from '@pxl/common'
48
+ import { format, mapValues, pluralize } from '@backend/common'
48
49
 
49
50
  ${imports.generate()}
50
51
 
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateActionsDispatcherService = void 0;
4
4
  const imports_1 = require("../../lib/imports");
5
5
  const meta_1 = require("../../lib/meta");
6
+ const types_1 = require("../../lib/schema/types");
6
7
  /**
7
8
  * Generates the action dispatcher service.
8
9
  */
@@ -11,7 +12,7 @@ function generateActionsDispatcherService({ models, meta }) {
11
12
  [meta.seed.importPath]: [meta.seed.serviceClassName],
12
13
  [meta.importExport.importPath]: [meta.importExport.importService.name],
13
14
  [meta.businessLogic.update.importPath]: [meta.businessLogic.update.serviceClassName],
14
- [meta.types.importPath]: meta.config.userType,
15
+ [meta.types.importPath]: (0, types_1.toAnnotatedTypeName)(meta.config.userType),
15
16
  });
16
17
  const dataLoader = [];
17
18
  for (const model of models) {
@@ -21,8 +22,8 @@ function generateActionsDispatcherService({ models, meta }) {
21
22
  return /* ts */ `
22
23
  import { Injectable } from '@nestjs/common'
23
24
 
24
- import { ExhaustiveSwitchCheck } from '@pxl/common'
25
- import { DbService } from '@pxl/db'
25
+ import { ExhaustiveSwitchCheck } from '@backend/common'
26
+ import { DbService } from '@backend/db'
26
27
 
27
28
  ${imports.generate()}
28
29
 
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateImportExportConvertImportFunctions = void 0;
4
4
  const imports_1 = require("../../lib/imports");
5
5
  const meta_1 = require("../../lib/meta");
6
- const types_1 = require("../../lib/types");
6
+ const types_1 = require("../../lib/schema/types");
7
+ const types_2 = require("../../lib/types");
7
8
  /**
8
9
  * Generates the Exporter class for the Import-Export module
9
10
  */
@@ -14,14 +15,16 @@ function generateImportExportConvertImportFunctions({ models, meta, }) {
14
15
  const { delta } = types;
15
16
  const imports = imports_1.ImportsGenerator.from(meta.importExport.converterFunctions.filePath);
16
17
  imports.addImports({
17
- [meta.importExport.decoder.fullDecoderFilePath]: [meta.importExport.decoder.decodedPXLModelDataTypeName],
18
+ [meta.importExport.decoder.fullDecoderFilePath]: [
19
+ (0, types_1.toAnnotatedTypeName)(meta.importExport.decoder.decodedPXLModelDataTypeName),
20
+ ],
18
21
  [meta.data.importPath]: [
19
- meta.data.dataMockDataType,
20
- meta.data.types.bulkMutation,
21
- meta.data.types.bulkMutationForModel,
22
+ (0, types_1.toAnnotatedTypeName)(meta.data.dataMockDataType),
23
+ (0, types_1.toAnnotatedTypeName)(meta.data.types.bulkMutation),
24
+ (0, types_1.toAnnotatedTypeName)(meta.data.types.bulkMutationForModel),
22
25
  ],
23
- [meta.types.importPath]: [dto.genericModel, dto.idType],
24
- [types.filePath]: [types.delta, types.delta_Model.type],
26
+ [meta.types.importPath]: [(0, types_1.toAnnotatedTypeName)(dto.genericModel), (0, types_1.toAnnotatedTypeName)(dto.idType)],
27
+ [types.filePath]: [(0, types_1.toAnnotatedTypeName)(types.delta), (0, types_1.toAnnotatedTypeName)(types.delta_Model.type)],
25
28
  });
26
29
  const importConverterBlocks = [];
27
30
  const deltaConverterBlocks = [];
@@ -39,7 +42,7 @@ function generateImportExportConvertImportFunctions({ models, meta, }) {
39
42
  // logState({ state, nextStep, lastStep: 'updateModelState' })
40
43
  }
41
44
  return /* ts */ `
42
- import { ExhaustiveSwitchCheck } from '@pxl/common'
45
+ import { ExhaustiveSwitchCheck } from '@backend/common'
43
46
  ${imports.generate()}
44
47
 
45
48
  /**
@@ -200,7 +203,7 @@ function assignModelToState({ state, modelNextStep, fieldsGrouped, }) {
200
203
  state.canBeCreatedFullyLinked.set(fieldsGrouped.model.name, fieldsGrouped);
201
204
  break;
202
205
  default:
203
- throw new types_1.ExhaustiveSwitchCheck(modelNextStep);
206
+ throw new types_2.ExhaustiveSwitchCheck(modelNextStep);
204
207
  }
205
208
  }
206
209
  function initializeModelsState(models) {
@@ -270,7 +273,7 @@ function generateBlocks({ state, nextStep, imports, iteration, schemaMeta, }) {
270
273
  case 'link':
271
274
  return generateBulkMutationBlockLink({ state, imports, iteration, schemaMeta });
272
275
  default:
273
- throw new types_1.ExhaustiveSwitchCheck(nextStep);
276
+ throw new types_2.ExhaustiveSwitchCheck(nextStep);
274
277
  }
275
278
  }
276
279
  function copyModelState(state) {
@@ -291,8 +294,9 @@ function generateBulkMutationBlockCreateFullyLinked({ state, iteration, imports,
291
294
  const modelNames = [];
292
295
  for (const [, fieldsGrouped] of models) {
293
296
  const modelMeta = (0, meta_1.getModelMetadata)({ model: fieldsGrouped.model });
294
- imports.addImports({
295
- [schemaMeta.types.importPath]: [modelMeta.types.dto.create],
297
+ imports.addTypeImport({
298
+ from: schemaMeta.types.importPath,
299
+ items: [modelMeta.types.dto.create],
296
300
  });
297
301
  const { block: importConvertBlock } = generateModelCreateBlock({ fieldsGrouped, modelMeta });
298
302
  importConvertBlocks.push(importConvertBlock);
@@ -321,7 +325,7 @@ function generateBulkMutationBlockCreatePartiallyLinked({ state, imports, iterat
321
325
  const modelNames = [];
322
326
  for (const [, fieldsGrouped] of models) {
323
327
  const modelMeta = (0, meta_1.getModelMetadata)({ model: fieldsGrouped.model });
324
- imports.addImport({
328
+ imports.addTypeImport({
325
329
  from: modelMeta.types.importPath,
326
330
  items: [modelMeta.types.dto.create],
327
331
  });
@@ -370,16 +374,17 @@ function generateDeltaBlock({ fieldsGrouped, modelMeta, schemaMeta, imports, })
370
374
  });
371
375
  const genericsDefinition = `${modelMeta.types.typeName}, ${modelMeta.types.brandedIdType}`;
372
376
  const { type, create, update } = schemaMeta.importExport.types.delta_Model;
373
- imports.addImports({
374
- [modelMeta.types.importPath]: [modelMeta.types.typeName, modelMeta.types.brandedIdType],
375
- [schemaMeta.importExport.types.filePath]: [
376
- type,
377
- create.type,
378
- create.typeGuard,
379
- update.type,
380
- update.typeGuard,
381
- // modelMeta.importExport.delta_Model_Errors,
382
- ],
377
+ imports.addTypeImport({
378
+ from: modelMeta.types.importPath,
379
+ items: [modelMeta.types.typeName, modelMeta.types.brandedIdType],
380
+ });
381
+ imports.addTypeImport({
382
+ from: schemaMeta.importExport.types.filePath,
383
+ items: [type, create.type, update.type],
384
+ });
385
+ imports.addImport({
386
+ from: schemaMeta.importExport.types.filePath,
387
+ items: [create.typeGuard, update.typeGuard],
383
388
  });
384
389
  return /* ts */ `
385
390
  ${modelMeta.seed.constantName}: {
@@ -407,7 +412,7 @@ function generateBulkMutationBlockLink({ state, imports, iteration, schemaMeta,
407
412
  const modelNames = [];
408
413
  for (const [, fieldsGrouped] of models) {
409
414
  const modelMeta = (0, meta_1.getModelMetadata)({ model: fieldsGrouped.model });
410
- imports.addImport({
415
+ imports.addTypeImport({
411
416
  from: modelMeta.types.importPath,
412
417
  items: [modelMeta.types.dto.update],
413
418
  });
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateImportExportExporterClass = void 0;
4
4
  const imports_1 = require("../../lib/imports");
5
5
  const meta_1 = require("../../lib/meta");
6
+ const types_1 = require("../../lib/schema/types");
6
7
  /**
7
8
  * Generates the Exporter class for the Import-Export module
8
9
  */
@@ -12,7 +13,7 @@ function generateImportExportExporterClass({ models, meta }) {
12
13
  [meta.businessLogic.view.importPath]: [meta.businessLogic.view.serviceClassName],
13
14
  [meta.importExport.decoder.fullDecoderFilePath]: [
14
15
  meta.importExport.decoder.fullEncoderFunctionName,
15
- meta.importExport.decoder.encodedExcelDataTypeName,
16
+ (0, types_1.toAnnotatedTypeName)(meta.importExport.decoder.encodedExcelDataTypeName),
16
17
  ],
17
18
  });
18
19
  const typeExports = [];
@@ -23,7 +24,7 @@ function generateImportExportExporterClass({ models, meta }) {
23
24
  const addAllCalls = [];
24
25
  for (const model of models) {
25
26
  const modelMeta = (0, meta_1.getModelMetadata)({ model });
26
- imports.addImport({
27
+ imports.addTypeImport({
27
28
  from: modelMeta.types.importPath,
28
29
  items: [modelMeta.types.brandedIdType, modelMeta.types.typeName],
29
30
  });
@@ -70,7 +71,7 @@ function generateImportExportExporterClass({ models, meta }) {
70
71
  return /* ts */ `
71
72
  import { Logger } from '@nestjs/common'
72
73
 
73
- import { mapValues } from '@pxl/common'
74
+ import { mapValues } from '@backend/common'
74
75
  ${imports.generate()}
75
76
 
76
77
  /**
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateImportExportImportService = void 0;
4
4
  const imports_1 = require("../../lib/imports");
5
5
  const meta_1 = require("../../lib/meta");
6
+ const types_1 = require("../../lib/schema/types");
6
7
  const string_1 = require("../../lib/utils/string");
7
8
  /**
8
9
  * Generates the Exporter class for the Import-Export module
@@ -15,18 +16,26 @@ function generateImportExportImportService({ models, meta }) {
15
16
  const { nonUnique, invalidReference, invalidType, isRequiredDependency, missingField } = errors;
16
17
  const { dto } = meta.types;
17
18
  imports.addImports({
18
- [meta.data.importPath]: [meta.data.dataService.class, meta.data.types.bulkMutation],
19
- [meta.types.importPath]: [dto.genericModel, dto.idType, dto.update],
19
+ [meta.data.importPath]: [meta.data.dataService.class, (0, types_1.toAnnotatedTypeName)(meta.data.types.bulkMutation)],
20
+ [meta.types.importPath]: [
21
+ (0, types_1.toAnnotatedTypeName)(dto.genericModel),
22
+ (0, types_1.toAnnotatedTypeName)(dto.idType),
23
+ (0, types_1.toAnnotatedTypeName)(dto.update),
24
+ ],
20
25
  [meta.actions.importPath]: [meta.actions.actionExecution.interface, meta.actions.dispatcherService.class],
21
- [types.filePath]: [delta_Fields, delta_Model.type, delta],
22
- [decoder.fullDecoderFilePath]: [decoder.decodedPXLModelDataTypeName],
26
+ [types.filePath]: [
27
+ (0, types_1.toAnnotatedTypeName)(delta_Fields),
28
+ (0, types_1.toAnnotatedTypeName)(delta_Model.type),
29
+ (0, types_1.toAnnotatedTypeName)(delta),
30
+ ],
31
+ [decoder.fullDecoderFilePath]: [(0, types_1.toAnnotatedTypeName)(decoder.decodedPXLModelDataTypeName)],
23
32
  [converterFunctions.filePath]: [converterFunctions.deltaToBulkMutations],
24
33
  });
25
34
  const resultAssignments = [];
26
35
  const detectDeltaFunctions = [];
27
36
  for (const model of models) {
28
37
  const modelMeta = (0, meta_1.getModelMetadata)({ model });
29
- imports.addImport({
38
+ imports.addTypeImport({
30
39
  from: modelMeta.types.importPath,
31
40
  items: [modelMeta.types.typeName, modelMeta.types.brandedIdType],
32
41
  });
@@ -35,7 +44,7 @@ function generateImportExportImportService({ models, meta }) {
35
44
  }
36
45
  return /* ts */ `
37
46
  import { Injectable } from '@nestjs/common'
38
- import { ExhaustiveSwitchCheck } from '@pxl/common'
47
+ import { ExhaustiveSwitchCheck } from '@backend/common'
39
48
 
40
49
  ${imports.generate()}
41
50
 
@@ -438,7 +447,7 @@ exports.generateImportExportImportService = generateImportExportImportService;
438
447
  function generateDetectDeltaFunction({ model, modelMeta, models, schemaMeta, imports, }) {
439
448
  const { types } = schemaMeta.importExport;
440
449
  const { delta_Model } = types;
441
- imports.addImport({
450
+ imports.addTypeImport({
442
451
  from: types.filePath,
443
452
  items: [modelMeta.importExport.delta_Model_Errors],
444
453
  });
@@ -460,7 +469,10 @@ function generateDetectDeltaFunction({ model, modelMeta, models, schemaMeta, imp
460
469
  }
461
470
  if (field.kind === 'scalar') {
462
471
  if (field.isUnique) {
463
- imports.addImport({ from: schemaMeta.importExport.types.filePath, items: [delta_Model.errors.nonUnique.type] });
472
+ imports.addTypeImport({
473
+ from: schemaMeta.importExport.types.filePath,
474
+ items: [delta_Model.errors.nonUnique.type],
475
+ });
464
476
  const getByName = `getBy${(0, string_1.toPascalCase)(fieldName)}`;
465
477
  sharedValidations.push(`this.validateUniqueField({
466
478
  item,
@@ -469,7 +481,7 @@ function generateDetectDeltaFunction({ model, modelMeta, models, schemaMeta, imp
469
481
  })`);
470
482
  }
471
483
  if (field.validation && field.validation.type === 'int') {
472
- imports.addImport({
484
+ imports.addTypeImport({
473
485
  from: schemaMeta.importExport.types.filePath,
474
486
  items: [delta_Model.errors.invalidType.type],
475
487
  });
@@ -478,7 +490,7 @@ function generateDetectDeltaFunction({ model, modelMeta, models, schemaMeta, imp
478
490
  }
479
491
  else if (field.kind === 'relation') {
480
492
  const relatedModelMeta = (0, meta_1.getModelMetadata)({ model: field.relationToModel });
481
- imports.addImport({
493
+ imports.addTypeImport({
482
494
  from: schemaMeta.importExport.types.filePath,
483
495
  items: [delta_Model.errors.invalidReference.type],
484
496
  });
@@ -501,7 +513,7 @@ function generateDetectDeltaFunction({ model, modelMeta, models, schemaMeta, imp
501
513
  !relatedField.isRequired) {
502
514
  continue;
503
515
  }
504
- imports.addImport({
516
+ imports.addTypeImport({
505
517
  from: schemaMeta.importExport.types.filePath,
506
518
  items: [delta_Model.errors.isRequiredDependency.type],
507
519
  });
@@ -519,7 +531,10 @@ function generateDetectDeltaFunction({ model, modelMeta, models, schemaMeta, imp
519
531
  }
520
532
  }
521
533
  if (requiredFields.length > 0) {
522
- imports.addImport({ from: schemaMeta.importExport.types.filePath, items: [delta_Model.errors.missingField.type] });
534
+ imports.addTypeImport({
535
+ from: schemaMeta.importExport.types.filePath,
536
+ items: [delta_Model.errors.missingField.type],
537
+ });
523
538
  }
524
539
  const requiredFieldsValidation = requiredFields.length > 0
525
540
  ? `...this.validateRequiredFields({item, fieldNames: [${requiredFields.join(',')}]}),`
@@ -10,15 +10,20 @@ function generateImportExportTypes({ models, meta }) {
10
10
  const { types } = meta.importExport;
11
11
  const imports = imports_1.ImportsGenerator.from(types.filePath);
12
12
  const dto = meta.types.dto;
13
- imports.addImports({
14
- [meta.types.importPath]: [dto.create, dto.update, dto.genericModel, dto.idType],
15
- [meta.data.importPath]: [meta.data.types.bulkMutation],
13
+ imports
14
+ .addTypeImport({
15
+ from: meta.types.importPath,
16
+ items: [dto.create, dto.update, dto.genericModel, dto.idType],
17
+ })
18
+ .addTypeImport({
19
+ from: meta.data.importPath,
20
+ items: [meta.data.types.bulkMutation],
16
21
  });
17
22
  const deltaTypes = [];
18
23
  const errorTypes = [];
19
24
  for (const model of models) {
20
25
  const modelMeta = (0, meta_1.getModelMetadata)({ model });
21
- imports.addImport({
26
+ imports.addTypeImport({
22
27
  items: [modelMeta.types.typeName, modelMeta.types.brandedIdType],
23
28
  from: modelMeta.types.importPath,
24
29
  });
@@ -19,10 +19,10 @@ exports.generateStubsIndex = generateStubsIndex;
19
19
  * Generates an index file that exports all stubs for the data mocker.
20
20
  */
21
21
  function generateDataMockerStubsIndex({ models, meta }) {
22
- const exports = exports_1.ExportsGenerator.from(meta.data.dataMockerStubIndexFilePath);
22
+ const exports = exports_1.ExportsGenerator.from(meta.e2e.dataMocker.stubIndexFilePath);
23
23
  for (const model of models) {
24
24
  const meta = (0, meta_1.getModelMetadata)({ model });
25
- exports.exportEverythingFromPath(meta.data.dataMockerStubFilePath);
25
+ exports.exportEverythingFromPath(meta.e2e.dataMockerStubFilePath);
26
26
  }
27
27
  return exports.generate();
28
28
  }
@@ -11,7 +11,10 @@ function generateTestDataService({ models, meta: schemaMeta, }) {
11
11
  const imports = imports_1.ImportsGenerator.from(schemaMeta.data.testDataServiceFilePath);
12
12
  imports.addImports({
13
13
  [schemaMeta.actions.importPath]: [(0, types_1.toClassName)('ActionExecutionFactory')],
14
- [schemaMeta.data.importPath]: [schemaMeta.data.dataService.class, schemaMeta.data.dataMockDataType],
14
+ [schemaMeta.data.importPath]: [
15
+ schemaMeta.data.dataService.class,
16
+ (0, types_1.toAnnotatedTypeName)(schemaMeta.data.dataMockDataType),
17
+ ],
15
18
  [schemaMeta.importExport.importPath]: [schemaMeta.importExport.converterFunctions.mockDataToBulkMutations],
16
19
  [schemaMeta.seed.importPath]: [(0, types_1.toClassName)('createActionSeedData')],
17
20
  });
@@ -30,7 +33,7 @@ function generateTestDataService({ models, meta: schemaMeta, }) {
30
33
  return /* ts */ `
31
34
  import { Injectable, Logger } from '@nestjs/common'
32
35
 
33
- import { DbService } from '@pxl/db'
36
+ import { DbService } from '@backend/db'
34
37
  ${imports.generate()}
35
38
 
36
39
  @Injectable()