@postxl/generators 1.0.3 → 1.0.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.
@@ -59,6 +59,7 @@ const baseDevDependencies = [
59
59
  { packageName: 'jest', version: '29.7.0' },
60
60
  { packageName: 'prettier', version: '3.4.2' },
61
61
  { packageName: 'rimraf', version: '6.1.0' },
62
+ { packageName: 'ts-node', version: '10.9.2' },
62
63
  ];
63
64
  const workspaceScripts = [
64
65
  { name: 'generate', command: 'pnpm run generate:project' },
@@ -116,10 +117,22 @@ exports.baseGenerator = {
116
117
  },
117
118
  generate: async (ctx) => {
118
119
  const vfs = new Generator.VirtualFileSystem();
119
- // Load the template
120
+ const templateContext = { schema: ctx.schema };
121
+ const SONAR_PROJECT_PROPERTIES_FILENAME = 'sonar-project.properties';
122
+ // Load the template, excluding files that need template substitution
120
123
  await vfs.loadFolder({
121
124
  diskPath: path.resolve(__dirname, './template'),
125
+ filter: (filePath) => !filePath.endsWith(SONAR_PROJECT_PROPERTIES_FILENAME),
122
126
  });
127
+ // Load file with template substitution
128
+ const sonarProjectPropertiesContent = await Generator.generateFromTemplate({
129
+ file: path.resolve(__dirname, './template', SONAR_PROJECT_PROPERTIES_FILENAME),
130
+ context: templateContext,
131
+ });
132
+ if (sonarProjectPropertiesContent.isErr()) {
133
+ throw new Error(`Failed to generate sonar-project.properties: ${sonarProjectPropertiesContent.unwrapErr().message}`);
134
+ }
135
+ vfs.write(`/${SONAR_PROJECT_PROPERTIES_FILENAME}`, sonarProjectPropertiesContent.unwrap());
123
136
  // write dynamic files
124
137
  vfs.write('/package.json', Generator.generatePackageJson(ctx.base.packageJson));
125
138
  const env = ctx.base.dotEnvExamples.join('\n');
@@ -1 +1 @@
1
- {"version":3,"file":"base.generator.js","sourceRoot":"","sources":["../../src/base/base.generator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAiC;AAEjC,6DAA8C;AA8B9C,MAAM,wBAAwB,GAAkC;IAC9D,EAAE,WAAW,EAAE,SAAS,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,EAAE;IACnE,EAAE,WAAW,EAAE,SAAS,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,EAAE;IACpE,EAAE,WAAW,EAAE,SAAS,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE;CACjE,CAAA;AAED,MAAM,mBAAmB,GAAkC;IACzD,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE;IACtD,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,EAAE;IACrD,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE;IAChD,EAAE,WAAW,EAAE,kCAAkC,EAAE,OAAO,EAAE,QAAQ,EAAE;IACtE,EAAE,WAAW,EAAE,kCAAkC,EAAE,OAAO,EAAE,QAAQ,EAAE;IACtE,EAAE,WAAW,EAAE,2BAA2B,EAAE,OAAO,EAAE,QAAQ,EAAE;IAC/D,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE;IACjD,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE;IAC/C,EAAE,WAAW,EAAE,2BAA2B,EAAE,OAAO,EAAE,OAAO,EAAE;IAC9D,EAAE,WAAW,EAAE,qBAAqB,EAAE,OAAO,EAAE,QAAQ,EAAE;IACzD,EAAE,WAAW,EAAE,kCAAkC,EAAE,OAAO,EAAE,QAAQ,EAAE;IACtE,EAAE,WAAW,EAAE,yBAAyB,EAAE,OAAO,EAAE,OAAO,EAAE;IAC5D,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;IAC5C,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE;IAC9C,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;IAC1C,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE;IAC7C,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE;CAC5C,CAAA;AAED,MAAM,gBAAgB,GAA8B;IAClD,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,2BAA2B,EAAE;IAC1D,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,+BAA+B,EAAE;IACtE,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,gDAAgD,EAAE;IAE3F;QACE,IAAI,EAAE,gBAAgB;QACtB,OAAO,EACL,sLAAsL;KACzL;IACD,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,uCAAuC,EAAE;CAClE,CAAA;AAED,MAAM,WAAW,GAA8B;IAC7C,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE;IAC7C,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE;IAChD,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,qBAAqB,EAAE;IAClD,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,oEAAoE,EAAE;CAC1G,CAAA;AAED,MAAM,iBAAiB,GAAG;;;;CAIzB,CAAA;AAED,MAAM,SAAS,GAAG;;;;;;;;;CASjB,CAAA;AAEY,QAAA,eAAe,GAAG,SAAS,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAA;AAE1D,QAAA,aAAa,GAAiC;IACzD,EAAE,EAAE,uBAAe;IACnB,mBAAmB,EAAE,CAAC,uBAAe,CAAC;IACtC,QAAQ,EAAE,EAAE;IAEZ,QAAQ,EAAE,CACR,OAA4B,EACb,EAAE;QACjB,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,WAAW,CAAA;QAE1E,MAAM,IAAI,GAAgB;YACxB,WAAW,EAAE;gBACX,IAAI,EAAE,SAAS,CAAC,mBAAmB,CAAC,WAAW,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACrE,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW;gBACvC,YAAY,EAAE,EAAE;gBAChB,eAAe,EAAE,CAAC,GAAG,mBAAmB,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAClG,cAAc,EAAE,cAAc;gBAC9B,OAAO,EAAE,CAAC,GAAG,WAAW,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aAC3E;YACD,cAAc,EAAE,EAAE;SACnB,CAAA;QACD,OAAO;YACL,GAAG,OAAO;YACV,IAAI;SACY,CAAA;IACpB,CAAC;IAED,QAAQ,EAAE,KAAK,EAAyC,GAAM,EAAc,EAAE;QAC5E,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,iBAAiB,EAAE,CAAA;QAE7C,oBAAoB;QACpB,MAAM,GAAG,CAAC,UAAU,CAAC;YACnB,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC;SAChD,CAAC,CAAA;QAEF,sBAAsB;QACtB,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;QAE/E,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9C,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC,CAAA;QAC/B,mGAAmG;QACnG,oGAAoG;QACpG,mBAAmB;QACnB,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAEvB,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACjD,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAA;YACnD,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;QACpC,CAAC;QAED,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAA;QAC/C,OAAO,GAAG,CAAA;IACZ,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"base.generator.js","sourceRoot":"","sources":["../../src/base/base.generator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- sonar.projectKey=PostXL_template
1
+ sonar.projectKey=PostXL_<%schema.slug%>
2
2
  sonar.organization=postxl
3
3
 
4
4
  # This is the name and version displayed in the SonarCloud UI.
@@ -7,7 +7,7 @@ sonar.organization=postxl
7
7
 
8
8
 
9
9
  # Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
10
- sonar.sources=backend,web
10
+ sonar.sources=backend,frontend
11
11
 
12
12
  # Encoding of the source code. Default is default system encoding
13
13
  #sonar.sourceEncoding=UTF-8
@@ -59,7 +59,7 @@ const configureDevopsGenerator = (config) => ({
59
59
  connectionString: `postgresql://postgres:postgres@localhost:5432/${context.schema.slug}`,
60
60
  username: 'postgres',
61
61
  password: 'postgres', // NOSONAR: only for local development
62
- database: 'pxl',
62
+ database: `${context.schema.slug}`,
63
63
  }
64
64
  : undefined,
65
65
  keycloak: config?.keycloakComponents
@@ -67,9 +67,9 @@ const configureDevopsGenerator = (config) => ({
67
67
  components: config.keycloakComponents,
68
68
  host: 'http://localhost:8080',
69
69
  pathPrefix: '/auth',
70
- clientId: 'pxl',
70
+ clientId: `${context.schema.slug}-client`,
71
71
  clientSecret: 'secret',
72
- realm: 'pxl',
72
+ realm: `${context.schema.slug}`,
73
73
  }
74
74
  : undefined,
75
75
  useBitbucket: config?.useBitbucket ?? false,
@@ -1 +1 @@
1
- {"version":3,"file":"devops.generator.js","sourceRoot":"","sources":["../../src/devops/devops.generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devops.generator.js","sourceRoot":"","sources":["../../src/devops/devops.generator.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  import { DevOpsContextResult } from '../devops.generator';
2
- export declare function generateE2EYaml({ devOps: { database } }: DevOpsContextResult): string;
2
+ export declare function generateE2EYaml(context: DevOpsContextResult): string;
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateE2EYaml = generateE2EYaml;
4
- function generateE2EYaml({ devOps: { database } }) {
4
+ function generateE2EYaml(context) {
5
+ const { devOps: { database }, } = context;
6
+ // Use 'postgres' as hostname instead of 'localhost' for GitHub Actions service containers
7
+ const connectionString = `postgresql://postgres:postgres@postgres:5432/${context.schema.slug}`;
5
8
  return /*yml*/ `
6
9
  name: End-to-End Visual Tests
7
10
 
@@ -41,14 +44,14 @@ function generateE2EYaml({ devOps: { database } }) {
41
44
  cache: 'pnpm'
42
45
 
43
46
  - name: Setup Workspace
44
- run: pnpm run setup
47
+ run: apt-get update && apt-get -y install unzip && pnpm run setup
45
48
 
46
- ${database ? databaseSetup(database.connectionString) : ''}
49
+ ${database ? databaseSetup(connectionString) : ''}
47
50
 
48
51
  - name: Start backend
49
52
  run: pnpm e2e:coverage:stateless > backend.log 2>&1 &
50
53
  working-directory: backend
51
- ${database ? databaseConnectionEnv(database.connectionString) : ''}
54
+ ${database ? databaseConnectionEnv(connectionString) : ''}
52
55
 
53
56
  - name: Start frontend
54
57
  run: pnpm e2e:ci > frontend.log 2>&1 &
@@ -184,7 +187,7 @@ const postgresContainerSetup = ({ username, password, database }) => `
184
187
  `;
185
188
  const databaseConnectionEnv = (connectionString) => `
186
189
  env:
187
- # We need to use postgres service name as the host!
190
+ # We need to use postgres service name as the host when running in a container!
188
191
  DATABASE_CONNECTION: '${connectionString}'
189
192
  `;
190
193
  const databaseSetup = (connectionString) => `
@@ -1 +1 @@
1
- {"version":3,"file":"e2e-yml.generator.js","sourceRoot":"","sources":["../../../src/devops/generators/e2e-yml.generator.ts"],"names":[],"mappings":";;AAEA,0CAmKC;AAnKD,SAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAuB;IAC3E,OAAO,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;QAqBT,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;UAoB9C,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE;;;;;YAKtD,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmH3E,CAAA;AACD,CAAC;AAED,MAAM,sBAAsB,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAkB,EAAE,EAAE,CAAC;;;;;6BAKxD,QAAQ;iCACJ,QAAQ;2BACd,QAAQ;;;;;;;;;CASlC,CAAA;AAED,MAAM,qBAAqB,GAAG,CAAC,gBAAwB,EAAE,EAAE,CAAC;;;oCAGxB,gBAAgB;CACnD,CAAA;AAED,MAAM,aAAa,GAAG,CAAC,gBAAwB,EAAE,EAAE,CAAC;;;EAGlD,qBAAqB,CAAC,gBAAgB,CAAC;CACxC,CAAA"}
1
+ {"version":3,"file":"e2e-yml.generator.js","sourceRoot":"","sources":["../../../src/devops/generators/e2e-yml.generator.ts"],"names":[],"mappings":";;AAEA,0CAyKC;AAzKD,SAAgB,eAAe,CAAC,OAA4B;IAC1D,MAAM,EACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,GACrB,GAAG,OAAO,CAAA;IACX,0FAA0F;IAC1F,MAAM,gBAAgB,GAAG,gDAAgD,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;IAE9F,OAAO,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;QAqBT,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;UAoB9C,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE;;;;;YAK7C,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmHlE,CAAA;AACD,CAAC;AAED,MAAM,sBAAsB,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAkB,EAAE,EAAE,CAAC;;;;;6BAKxD,QAAQ;iCACJ,QAAQ;2BACd,QAAQ;;;;;;;;;CASlC,CAAA;AAED,MAAM,qBAAqB,GAAG,CAAC,gBAAwB,EAAE,EAAE,CAAC;;;oCAGxB,gBAAgB;CACnD,CAAA;AAED,MAAM,aAAa,GAAG,CAAC,gBAAwB,EAAE,EAAE,CAAC;;;EAGlD,qBAAqB,CAAC,gBAAgB,CAAC;CACxC,CAAA"}
@@ -38,8 +38,9 @@ jobs:
38
38
  VITE_PUBLIC_API_URL: http://localhost:3001
39
39
  VITE_PUBLIC_BASE_URL: http://localhost:3000
40
40
 
41
- - name: Test Packages
42
- run: pnpm run test
41
+ # We skip this step for now. We will reintroduce tests later.
42
+ # - name: Test Packages
43
+ # run: pnpm run test
43
44
 
44
45
  - name: Lint Code
45
46
  run: pnpm run lint
@@ -13,5 +13,5 @@ if [[ "$(uname)" = "Linux" ]]; then
13
13
  USER_FLAG="-u $(id -u):$(id -g)"
14
14
  fi
15
15
 
16
- docker run -p 3030:3030 $USER_FLAG -v ${PWD}/../..:/pxl -w /pxl/projects/<%schema.slug%>/e2e --rm -it $IMAGE_NAME /bin/bash
16
+ docker run -p 3030:3030 $USER_FLAG -v ${PWD}:/pxl -w /pxl/e2e --rm -it $IMAGE_NAME /bin/bash
17
17
 
@@ -31,14 +31,6 @@ type ModelContextTable = {
31
31
  * The raw component without filters
32
32
  */
33
33
  componentWithoutFilters: Generator.ImportableFunction;
34
- /**
35
- * Name of the hook that returns all models
36
- */
37
- allModelsHook: Generator.ImportableConstant;
38
- /**
39
- * Name of the hook that returns a model
40
- */
41
- modelHook: Generator.ImportableConstant;
42
34
  /**
43
35
  * Name of the prop for the model if its data is required for reference in other tables
44
36
  */
@@ -39,7 +39,6 @@ const base_1 = require("../base");
39
39
  const frontend_core_1 = require("../frontend-core");
40
40
  const frontend_forms_1 = require("../frontend-forms");
41
41
  const types_1 = require("../types");
42
- const model_context_generator_1 = require("./generators/model-context.generator");
43
42
  const model_table_generator_1 = require("./generators/model-table.generator");
44
43
  exports.generatorId = Generator.toGeneratorInterfaceId('frontend-tables');
45
44
  // TODO Peter: Refactor Generator to so it is simply `ModuleName`
@@ -70,7 +69,6 @@ exports.generator = {
70
69
  const contextVfs = new Generator.VirtualFileSystem();
71
70
  for (const model of context.models.values()) {
72
71
  tablesVfs.write(Generator.toLocalReactComponent(model.table.componentWithoutFilters), (0, model_table_generator_1.generateModelTableComponent)({ model, context }));
73
- contextVfs.write(Generator.toLocalReactComponent(model.table.allModelsHook), (0, model_context_generator_1.generateModelContext)({ model, context }));
74
72
  }
75
73
  context.vfs.insertFromVfs({ targetPath: 'frontend/src/ui/tables', vfs: tablesVfs });
76
74
  context.vfs.insertFromVfs({ targetPath: 'frontend/src/context-providers', vfs: contextVfs });
@@ -79,7 +77,6 @@ exports.generator = {
79
77
  };
80
78
  function registerModelTables(model) {
81
79
  const location = Generator.toBackendModuleLocation(`@tables/${model._conjugated.camelCase}-table`);
82
- const contextLocation = Generator.toBackendModuleLocation(`@context-providers/${model._conjugated.PascalCase}-context-provider`);
83
80
  const table = {
84
81
  componentWithoutFilters: {
85
82
  name: Generator.toFunctionName(`${model._conjugated.PascalCase}TableRaw`),
@@ -89,11 +86,6 @@ function registerModelTables(model) {
89
86
  name: Generator.toFunctionName(`${model._conjugated.PascalCase}Table`),
90
87
  location,
91
88
  },
92
- allModelsHook: {
93
- name: Generator.toConstantName(`use${model._conjugated.PascalCasePlural}Context`),
94
- location: contextLocation,
95
- },
96
- modelHook: { name: Generator.toConstantName(`use${model._conjugated.PascalCase}`), location: contextLocation },
97
89
  propName: `${model.internalSingularName}Map`,
98
90
  };
99
91
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"tables.generator.js","sourceRoot":"","sources":["../../src/frontend-tables/tables.generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tables.generator.js","sourceRoot":"","sources":["../../src/frontend-tables/tables.generator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAA8C;AAG9C,kCAAmD;AACnD,oDAAoE;AACpE,sDAAuE;AAEvE,oCAAsD;AAEtD,8EAAgF;AA+CnE,QAAA,WAAW,GAAG,SAAS,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,CAAA;AAE9E,iEAAiE;AACjE,MAAM,UAAU,GAAG,SAAS,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;AAE7C,QAAA,SAAS,GAAiC;IACrD,EAAE,EAAE,mBAAW;IACf,QAAQ,EAAE,CAAC,sBAAe,EAAE,wBAAgB,EAAE,mCAAmB,EAAE,yCAAwB,CAAC;IAE5F,QAAQ,EAAE,CAAsC,OAAgB,EAAiB,EAAE;QACjF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE;YAClD,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC;YAC3C,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,IAAI;SACjB,CAAC,CAAA;QAEF,MAAM,MAAM,GAAkB,EAAE,CAAA;QAEhC,MAAM,MAAM,GAAkC,IAAI,GAAG,EAAE,CAAA;QACvD,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAChD,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAA;QACnD,CAAC;QAED,OAAO;YACL,GAAG,OAAO;YACV,MAAM;YACN,MAAM;SACgB,CAAA;IAC1B,CAAC;IAED,QAAQ,EAAE,KAAK,EAAiC,OAAgB,EAAoB,EAAE;QACpF,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,iBAAiB,EAAE,CAAA;QACnD,MAAM,UAAU,GAAG,IAAI,SAAS,CAAC,iBAAiB,EAAE,CAAA;QACpD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,SAAS,CAAC,KAAK,CACb,SAAS,CAAC,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,EACpE,IAAA,mDAA2B,EAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAChD,CAAA;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,wBAAwB,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAA;QACnF,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,gCAAgC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAA;QAE5F,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA,CAAC,UAAU;IAC5C,CAAC;CACF,CAAA;AAED,SAAS,mBAAmB,CAAC,KAA+B;IAC1D,MAAM,QAAQ,GAAG,SAAS,CAAC,uBAAuB,CAAC,WAAW,KAAK,CAAC,WAAW,CAAC,SAAS,QAAQ,CAAC,CAAA;IAElG,MAAM,KAAK,GAAsB;QAC/B,uBAAuB,EAAE;YACvB,IAAI,EAAE,SAAS,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,UAAU,UAAU,CAAC;YACzE,QAAQ;SACT;QACD,SAAS,EAAE;YACT,IAAI,EAAE,SAAS,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,UAAU,OAAO,CAAC;YACtE,QAAQ;SACT;QACD,QAAQ,EAAE,GAAG,KAAK,CAAC,oBAAoB,KAAK;KAC7C,CAAA;IAED,OAAO;QACL,GAAG,KAAK;QACR,KAAK;KACN,CAAA;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@postxl/generators",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "Code generators for PXL - generates backend, frontend, Prisma schemas, and more",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -44,7 +44,7 @@
44
44
  "@faker-js/faker": "^9.4.0",
45
45
  "@prisma/prisma-schema-wasm": "6.20.0-5.46b83975fec203f6665832b932ab3dc58be23eab",
46
46
  "exceljs": "^4.4.0",
47
- "@postxl/generator": "^1.0.3",
47
+ "@postxl/generator": "^1.0.4",
48
48
  "@postxl/schema": "^1.0.0"
49
49
  },
50
50
  "devDependencies": {},
@@ -1,5 +0,0 @@
1
- import { ContextResult, ModelContextResult } from '../tables.generator';
2
- export declare function generateModelContext({ model }: {
3
- model: ModelContextResult;
4
- context: ContextResult;
5
- }): string;
@@ -1,72 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateModelContext = generateModelContext;
4
- const generator_1 = require("@postxl/generator");
5
- function generateModelContext({ model }) {
6
- const imports = generator_1.ImportGenerator
7
- //
8
- .from(model.table.allModelsHook.location)
9
- .addType(model.types)
10
- .addType(model.types.id);
11
- const resultMapTypeDefinition = `Map<${model.types.id.name}, ${model.types.name}>`;
12
- return `
13
- import { useMemo } from 'react'
14
-
15
- import { useQuery } from '@tanstack/react-query'
16
-
17
- import { useTRPC } from '@lib/trpc'
18
-
19
- ${imports.generate()}
20
-
21
- type ProviderHookType = {
22
- ready: boolean
23
- map: ${resultMapTypeDefinition}
24
- list: ${model.types.name}[]
25
- }
26
-
27
- /**
28
- * A React utility hook to access the model data in the generated forms.
29
- */
30
- export const ${model.table.allModelsHook.name} = (): ProviderHookType => {
31
- const trpc = useTRPC()
32
- const dataQuery = useQuery(trpc.${model.trpcRoute.name}.${model.trpcRoute.getMap.name}.queryOptions())
33
-
34
- const value = useMemo<ProviderHookType>(() => {
35
- const data: ${resultMapTypeDefinition} = dataQuery.data ?? new ${resultMapTypeDefinition}()
36
-
37
- return {
38
- ready: dataQuery.isLoading === false,
39
- map: data,
40
- list: Array.from(data.values())
41
- }
42
- }, [dataQuery.isLoading, dataQuery.data])
43
-
44
- return value
45
- }
46
-
47
- /**
48
- * Returns a single instance of the model if the data is ready.
49
- */
50
- export const ${model.table.modelHook.name} = (
51
- { id }: { id?: ${model.types.id.name} | null }
52
- ): ${model.types.name} | null => {
53
- const { map, ready } = ${model.table.allModelsHook.name}()
54
-
55
- const value = useMemo(() => {
56
- if (!ready || !id) {
57
- return null
58
- }
59
-
60
- const val = map.get(id)
61
- if (!val) {
62
- return null
63
- }
64
-
65
- return val
66
- }, [map, ready, id])
67
-
68
- return value
69
- }
70
- `;
71
- }
72
- //# sourceMappingURL=model-context.generator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-context.generator.js","sourceRoot":"","sources":["../../../src/frontend-tables/generators/model-context.generator.ts"],"names":[],"mappings":";;AAIA,oDAoEC;AAxED,iDAAmD;AAInD,SAAgB,oBAAoB,CAAC,EAAE,KAAK,EAAyD;IACnG,MAAM,OAAO,GAAG,2BAAe;QAC7B,EAAE;SACD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC;SACxC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAE1B,MAAM,uBAAuB,GAAG,OAAO,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAA;IAElF,OAAO;;;;;;;EAOP,OAAO,CAAC,QAAQ,EAAE;;;;QAIZ,uBAAuB;SACtB,KAAK,CAAC,KAAK,CAAC,IAAI;;;;;;eAMV,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI;;oCAET,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI;;;gBAGvE,uBAAuB,4BAA4B,uBAAuB;;;;;;;;;;;;;;;eAe3E,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI;kBACvB,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI;KAChC,KAAK,CAAC,KAAK,CAAC,IAAI;0BACK,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI;;;;;;;;;;;;;;;;;CAiBvD,CAAA;AACD,CAAC"}