@diia-inhouse/scaffold 2.24.0 → 2.52.2

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 (116) hide show
  1. package/LICENCE.md +59 -59
  2. package/dist/_sharedTemplates/actionTest.t +11 -10
  3. package/dist/_templates/add/action/01-action.ts.t +6 -3
  4. package/dist/_templates/add/action/01-test.ts.t +1 -33
  5. package/dist/_templates/add/action/prompt.js +18 -9
  6. package/dist/_templates/add/action/prompt.js.map +1 -1
  7. package/dist/_templates/add/eventListener/01-event.ts.t +2 -2
  8. package/dist/_templates/add/generator/prompt.js +2 -1
  9. package/dist/_templates/add/generator/prompt.js.map +1 -1
  10. package/dist/_templates/add/model/01-interfaces.model.ts.t +1 -1
  11. package/dist/_templates/add/model/01-model.ts.t +1 -1
  12. package/dist/_templates/add/test/prompt.js +2 -1
  13. package/dist/_templates/add/test/prompt.js.map +1 -1
  14. package/dist/_templates/add/view/01-index.ts.t +7 -0
  15. package/dist/_templates/add/view/01-interface.ts.t +11 -0
  16. package/dist/_templates/add/view/01-view.ts.t +15 -0
  17. package/dist/_templates/add/view/02-scriptRunner.t +3 -0
  18. package/dist/_templates/add/view/prompt.js +30 -0
  19. package/dist/_templates/add/view/prompt.js.map +1 -0
  20. package/dist/_templates/init/admin/01-adminActionsService.ts.t +26 -0
  21. package/dist/_templates/init/admin/01-adminExecuteCustom.ts.t +34 -0
  22. package/dist/_templates/init/admin/01-adminExecuteCustomInterface.ts.t +10 -0
  23. package/dist/_templates/init/admin/01-adminExecuteQuery.ts.t +22 -0
  24. package/dist/_templates/init/admin/01-adminExecuteQueryInterface.ts.t +10 -0
  25. package/dist/_templates/init/admin/01-adminGetMeta.ts.t +22 -0
  26. package/dist/_templates/init/admin/01-adminGetMetaInterface.ts.t +7 -0
  27. package/dist/_templates/init/admin/01-adminService.ts.t +23 -0
  28. package/dist/_templates/init/admin/02-scriptRunner.ts.t +3 -0
  29. package/dist/_templates/init/admin/prompt.js +76 -0
  30. package/dist/_templates/init/admin/prompt.js.map +1 -0
  31. package/dist/_templates/init/matchers/01-matcher.ts.t +1 -1
  32. package/dist/_templates/init/matchers/01-vitest.d.ts.t +16 -0
  33. package/dist/_templates/init/matchers/02-scriptRunner.ts.t +1 -1
  34. package/dist/_templates/init/matchers/prompt.js +23 -17
  35. package/dist/_templates/init/matchers/prompt.js.map +1 -1
  36. package/dist/_templates/init/package/01-.gitignore.t +6 -0
  37. package/dist/_templates/init/package/01-.gitlab-ci.yml.t +7 -6
  38. package/dist/_templates/init/package/01-codeowners.t +5 -0
  39. package/dist/_templates/init/package/01-eslint.config.mjs.t +22 -0
  40. package/dist/_templates/init/package/01-package.json.t +8 -17
  41. package/dist/_templates/init/package/01-readme.md.t +4 -0
  42. package/dist/_templates/init/package/01-test.tsconfig.json.t +5 -1
  43. package/dist/_templates/init/package/01-vitest.config.mts.t +19 -0
  44. package/dist/_templates/init/package/prompt.js +8 -2
  45. package/dist/_templates/init/package/prompt.js.map +1 -1
  46. package/dist/_templates/init/service/01-.env.example.t +24 -19
  47. package/dist/_templates/init/service/01-.env.test.t +3 -0
  48. package/dist/_templates/init/service/01-.gitignore.t +1 -0
  49. package/dist/_templates/init/service/01-.gitlab-ci.yml.t +3 -7
  50. package/dist/_templates/init/service/01-.prettierignore.t +1 -0
  51. package/dist/_templates/init/service/01-codeowners.t +5 -0
  52. package/dist/_templates/init/service/01-eslint.config.mjs.t +21 -0
  53. package/dist/_templates/init/service/01-package.json.t +14 -28
  54. package/dist/_templates/init/service/01-proto.service.proto.t +15 -1
  55. package/dist/_templates/init/service/01-readme.md.t +11 -0
  56. package/dist/_templates/init/service/01-src.actions.v1.getAddResult.ts.t +12 -2
  57. package/dist/_templates/init/service/01-src.bootstrap.ts.t +5 -4
  58. package/dist/_templates/init/service/01-src.configs.config.ts.t +150 -0
  59. package/dist/_templates/init/service/01-src.configs.logger.ts.t +11 -0
  60. package/dist/_templates/init/service/01-src.configs.queue.ts.t +46 -0
  61. package/dist/_templates/init/service/01-src.deps.ts.t +1 -1
  62. package/dist/_templates/init/service/01-src.index.ts.t +3 -4
  63. package/dist/_templates/init/service/01-src.interfaces.config.ts.t +1 -1
  64. package/dist/_templates/init/service/01-src.interfaces.queue.ts.t +23 -0
  65. package/dist/_templates/init/service/01-src.services.add.ts.t +9 -0
  66. package/dist/_templates/init/service/01-src.views.exampleViews.index.ts.t +7 -0
  67. package/dist/_templates/init/service/01-src.views.exampleViews.interface.ts.t +11 -0
  68. package/dist/_templates/init/service/01-src.views.exampleViews.view.ts.t +15 -0
  69. package/dist/_templates/init/service/01-tests.integration.actionts.getAddResult.spec.ts.t +4 -12
  70. package/dist/_templates/init/service/01-tests.interfaces.ts.t +3 -0
  71. package/dist/_templates/init/service/01-tests.tsconfig.json.t +6 -2
  72. package/dist/_templates/init/service/01-tests.utils.getApp.ts.t +18 -5
  73. package/dist/_templates/init/service/01-tests.vitest.d.ts.t +11 -0
  74. package/dist/_templates/init/service/01-tsconfig.json.t +2 -2
  75. package/dist/_templates/init/service/01-vitest.config.mts.t +42 -0
  76. package/dist/_templates/init/service/02-scriptRunner.ts.t +1 -1
  77. package/dist/_templates/init/service/prompt.js +44 -5
  78. package/dist/_templates/init/service/prompt.js.map +1 -1
  79. package/dist/_templates/init/temporal/01-worker.activity.activity-example.ts.t +14 -0
  80. package/dist/_templates/init/temporal/01-worker.activity.index.ts.t +9 -0
  81. package/dist/_templates/init/temporal/01-worker.index.ts.t +32 -0
  82. package/dist/_templates/init/temporal/01-worker.workflow.index.ts.t +9 -0
  83. package/dist/_templates/init/temporal/01-worker.workflow.workflow-example.ts.t +25 -0
  84. package/dist/_templates/init/temporal/02-scriptRunner.ts.t +3 -0
  85. package/dist/_templates/init/temporal/prompt.js +15 -0
  86. package/dist/_templates/init/temporal/prompt.js.map +1 -0
  87. package/dist/depsNames.js +28 -27
  88. package/dist/depsNames.js.map +1 -1
  89. package/dist/index.js +2 -2
  90. package/dist/index.js.map +1 -1
  91. package/dist/interfaces/_templates/add/view.js +3 -0
  92. package/dist/interfaces/_templates/add/view.js.map +1 -0
  93. package/dist/interfaces/_templates/init/admin.js +3 -0
  94. package/dist/interfaces/_templates/init/admin.js.map +1 -0
  95. package/dist/interfaces/_templates/init/matcher.js +6 -6
  96. package/dist/interfaces/_templates/init/service.js +3 -8
  97. package/dist/interfaces/_templates/init/service.js.map +1 -1
  98. package/dist/interfaces/_templates/init/temporal.js +3 -0
  99. package/dist/interfaces/_templates/init/temporal.js.map +1 -0
  100. package/dist/prompt/autocomplete.js +1 -3
  101. package/dist/prompt/autocomplete.js.map +1 -1
  102. package/dist/prompt/select/baseSelect.js +1 -3
  103. package/dist/prompt/select/baseSelect.js.map +1 -1
  104. package/dist/prompt/select/multiselect.js +1 -3
  105. package/dist/prompt/select/multiselect.js.map +1 -1
  106. package/dist/prompt/select/yesNoSelect.js +1 -2
  107. package/dist/prompt/select/yesNoSelect.js.map +1 -1
  108. package/dist/utils.js +3 -4
  109. package/dist/utils.js.map +1 -1
  110. package/package.json +17 -19
  111. package/dist/_templates/init/matchers/01-jest.d.ts.t +0 -16
  112. package/dist/_templates/init/package/01-.eslintignore.t +0 -7
  113. package/dist/_templates/init/service/01-.eslintignore.t +0 -9
  114. package/dist/_templates/init/service/01-dockerfile.t +0 -38
  115. package/dist/_templates/init/service/01-src.config.ts.t +0 -163
  116. package/dist/_templates/init/service/01-tests.jest.d.ts.t +0 -5
@@ -1,7 +0,0 @@
1
- ---
2
- to: <%= packageName %>/.eslintignore
3
- ---
4
-
5
- node_modules
6
- dist
7
- coverage
@@ -1,9 +0,0 @@
1
- ---
2
- to: <%= serviceName %>/.eslintignore
3
- ---
4
-
5
- node_modules
6
- dist
7
- coverage
8
- migrate-mongo-config.ts
9
- src/generated
@@ -1,38 +0,0 @@
1
- ---
2
- to: <%= serviceName %>/Dockerfile
3
- ---
4
- ### Stage 1
5
- FROM gitlab.diia.org.ua:5050/diia-inhouse/ci/node-builder:18-alpine as node-first
6
-
7
- WORKDIR /home/node/app
8
-
9
- COPY package-lock.json package.json .npmrc ./
10
- RUN npm install
11
-
12
- COPY . .
13
- RUN npm run build
14
-
15
- ### Stage 2
16
- FROM node:18-alpine
17
-
18
- RUN apk add --no-cache \
19
- protobuf-dev \
20
- tzdata \
21
- bash
22
-
23
- RUN cp /usr/share/zoneinfo/Europe/Kiev /etc/localtime
24
-
25
- WORKDIR /home/node/app
26
-
27
- COPY --from=node-first /home/node/app/node_modules ./node_modules
28
- COPY --from=node-first /home/node/app/dist ./dist
29
- COPY --from=node-first /home/node/app/package.json .
30
- COPY --from=node-first /home/node/app/tsconfig.json .
31
- <%if (h.isOptionSelected(selectedOptions, 'database')) {%>
32
- COPY --from=node-first /home/node/app/migrate-mongo-config.ts ./migrate-mongo-config.ts
33
- COPY --from=node-first /home/node/app/migrations ./migrations
34
- <%}%>
35
- COPY --from=node-first /home/node/app/.env .
36
- COPY --from=node-first /home/node/app/proto ./proto
37
-
38
- CMD npm run start
@@ -1,163 +0,0 @@
1
- ---
2
- to: <%= serviceName %>/src/config.ts
3
- ---
4
-
5
- import { BaseConfig } from '@diia-inhouse/diia-app'
6
-
7
- import { EnvService } from '@diia-inhouse/env'
8
- <%if (h.isOptionSelected(selectedOptions, 'redis')) {%>
9
- import { RedisConfig } from '@diia-inhouse/redis'
10
- <%}%>
11
- <%if (h.isOptionSelected(selectedOptions, ['internal', 'external'])) {%>
12
- import {
13
- InternalQueueConfig,
14
- InternalQueueName,
15
- ListenerOptions,
16
- QueueConnectionConfig,
17
- QueueConnectionType,
18
- QueueConfig,
19
- ScheduledTaskQueueName,
20
- } from '@diia-inhouse/diia-queue'
21
- <%}%>
22
-
23
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
24
- export default async (envService: EnvService <%= h.isOptionSelected(selectedOptions, ['internal', 'external']) ? ", serviceName: string" : '' %>) => ({
25
- transporter: {
26
- type: envService.getVar('TRANSPORT_TYPE'),
27
- options: envService.getVar('TRANSPORT_OPTIONS', 'object', {}),
28
- },
29
-
30
- balancing: {
31
- strategy: envService.getVar('BALANCING_STRATEGY_NAME', 'string'),
32
- strategyOptions: envService.getVar('BALANCING_STRATEGY_OPTIONS', 'object', {}),
33
- },
34
-
35
- healthCheck: {
36
- isEnabled: envService.getVar('HEALTH_CHECK_IS_ENABLED', 'boolean'),
37
- port: envService.getVar('HEALTH_CHECK_IS_PORT', 'number', 4545),
38
- },
39
-
40
- metrics: {
41
- moleculer: {
42
- prometheus: {
43
- isEnabled: envService.getVar('METRICS_MOLECULER_PROMETHEUS_IS_ENABLED', 'boolean', true),
44
- port: envService.getVar('METRICS_MOLECULER_PROMETHEUS_PORT', 'number', 3031),
45
- path: envService.getVar('METRICS_MOLECULER_PROMETHEUS_PATH', 'string', '/metrics'),
46
- },
47
- },
48
- custom: {
49
- disabled: envService.getVar('METRICS_CUSTOM_DISABLED', 'boolean', false),
50
- port: envService.getVar('METRICS_CUSTOM_PORT', 'number', 3030),
51
- moleculer: {
52
- disabled: envService.getVar('METRICS_CUSTOM_MOLECULER_DISABLED', 'boolean', false),
53
- port: envService.getVar('METRICS_CUSTOM_MOLECULER_PORT', 'number', 3031),
54
- path: envService.getVar('METRICS_CUSTOM_MOLECULER_PATH', 'string', '/metrics'),
55
- },
56
- disableDefaultMetrics: envService.getVar('METRICS_CUSTOM_DISABLE_DEFAULT_METRICS', 'boolean', false),
57
- defaultLabels: envService.getVar('METRICS_CUSTOM_DEFAULT_LABELS', 'object', {}),
58
- },
59
- },
60
-
61
- grpcServer: {
62
- isEnabled: envService.getVar('GRPC_SERVER_ENABLED', 'boolean', false),
63
- port: envService.getVar('GRPC_SERVER_PORT', 'number', 5000),
64
- services: envService.getVar('GRPC_SERVICES', 'object'),
65
- isReflectionEnabled: envService.getVar('GRPC_REFLECTION_ENABLED', 'boolean', false),
66
- maxReceiveMessageLength: envService.getVar('GRPC_SERVER_MAX_RECEIVE_MESSAGE_LENGTH', 'number', 1024 * 1024 * 4),
67
- },
68
-
69
- grpc: {},
70
-
71
- <%if (h.isOptionSelected(selectedOptions, 'database')) {%>
72
- db: {
73
- database: envService.getVar('MONGO_DATABASE', 'string'),
74
- replicaSet: envService.getVar('MONGO_REPLICA_SET', 'string'),
75
- user: await envService.getSecret('MONGO_USER', { accessor: 'username', nullable: true }),
76
- password: await envService.getSecret('MONGO_PASSWORD', { accessor: 'password', nullable: true }),
77
- authSource: envService.getVar('MONGO_AUTH_SOURCE', 'string', null),
78
- port: envService.getVar('MONGO_PORT', 'number'),
79
- replicaSetNodes: envService
80
- .getVar('MONGO_HOSTS', 'string')
81
- .split(',')
82
- .map((replicaHost: string) => ({ replicaHost })),
83
- readPreference: envService.getVar('MONGO_READ_PREFERENCE', 'string'),
84
- indexes: {
85
- sync: envService.getVar('MONGO_INDEXES_SYNC', 'boolean'),
86
- exitAfterSync: envService.getVar('MONGO_INDEXES_EXIT_AFTER_SYNC', 'boolean'),
87
- },
88
- },
89
- <%}%>
90
-
91
- <%if (h.isOptionSelected(selectedOptions, 'external')) {%>
92
- redis: {
93
- readWrite: envService.getVar('REDIS_READ_WRITE_OPTIONS', 'object'),
94
-
95
- readOnly: envService.getVar('REDIS_READ_ONLY_OPTIONS', 'object'),
96
- },
97
- <%}%>
98
-
99
- <%if (h.isOptionSelected(selectedOptions, 'redis')) {%>
100
- store: {
101
- readWrite: envService.getVar('STORE_READ_WRITE_OPTIONS', 'object'),
102
-
103
- readOnly: envService.getVar('STORE_READ_ONLY_OPTIONS', 'object'),
104
- },
105
- <%}%>
106
-
107
- <%if (h.isOptionSelected(selectedOptions, ['internal', 'external'])) {%>
108
- rabbit: {
109
- <%if (h.isOptionSelected(selectedOptions, 'internal')) {%>
110
- [QueueConnectionType.Internal]: {
111
- connection: {
112
- hostname: envService.getVar('RABBIT_HOST', 'string'),
113
- port: envService.getVar('RABBIT_PORT', 'number'),
114
- username: await envService.getSecret('RABBIT_USERNAME', { accessor: 'username' }),
115
- password: await envService.getSecret('RABBIT_PASSWORD', { accessor: 'password' }),
116
- heartbeat: envService.getVar('RABBIT_HEARTBEAT', 'number'),
117
- },
118
- socketOptions: {
119
- clientProperties: {
120
- applicationName: `${serviceName} Service`,
121
- },
122
- },
123
- reconnectOptions: {
124
- reconnectEnabled: true,
125
- },
126
- listenerOptions: {
127
- prefetchCount: envService.getVar('RABBIT_QUEUE_PREFETCH_COUNT', 'number', 10),
128
- },
129
- // Uncomment if listening to scheduled tasks needed
130
- // scheduledTaskQueueName: ScheduledTaskQueueName.,
131
- // Uncomment if listening to internal bus events needed
132
- // queueName: InternalQueueName.,
133
- },
134
- <%}%>
135
- <%if (h.isOptionSelected(selectedOptions, 'external')) {%>
136
- [QueueConnectionType.External]: {
137
- connection: {
138
- hostname: envService.getVar('EXTERNAL_RABBIT_HOST', 'string'),
139
- port: envService.getVar('EXTERNAL_RABBIT_PORT', 'number'),
140
- username: await envService.getSecret('EXTERNAL_RABBIT_USERNAME', { accessor: 'username' }),
141
- password: await envService.getSecret('EXTERNAL_RABBIT_PASSWORD', { accessor: 'password' }),
142
- heartbeat: envService.getVar('EXTERNAL_RABBIT_HEARTBEAT', 'number'),
143
- },
144
- socketOptions: {
145
- clientProperties: {
146
- applicationName: `${serviceName} Service`,
147
- },
148
- },
149
- reconnectOptions: {
150
- reconnectEnabled: true,
151
- },
152
- listenerOptions: {
153
- prefetchCount: envService.getVar('EXTERNAL_RABBIT_QUEUE_PREFETCH_COUNT', 'number', 1),
154
- },
155
- assertExchanges: envService.getVar('EXTERNAL_RABBIT_ASSERT_EXCHANGES', 'boolean'),
156
- custom: {
157
- responseRoutingKeyPrefix: envService.getVar('EXTERNAL_RABBIT_RESPONSE_ROUTING_KEY_PREFIX', 'string', null),
158
- },
159
- },
160
- <%}%>
161
- },
162
- <%}%>
163
- }) satisfies BaseConfig & Record<string, unknown>
@@ -1,5 +0,0 @@
1
- ---
2
- to: <%= serviceName %>/tests/jest.d.ts
3
- ---
4
-
5
- import '@diia-inhouse/configs/jest/types'