@common-stack/generate-plugin 5.0.4-alpha.0 → 5.0.4-alpha.11

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 (142) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +42 -0
  3. package/generators.json +9 -4
  4. package/lib/generators/add-backend/files/CHANGELOG.md +196 -0
  5. package/lib/generators/add-backend/files/Dockerfile +30 -0
  6. package/lib/generators/add-backend/files/LICENSE +661 -0
  7. package/lib/generators/add-backend/files/README.md +133 -0
  8. package/lib/generators/add-backend/files/__tests__/test.ts.template +95 -0
  9. package/lib/generators/add-backend/files/babel.config.js +45 -0
  10. package/lib/generators/add-backend/files/build.config.js +14 -0
  11. package/lib/generators/add-backend/files/build.config.mjs +27 -0
  12. package/lib/generators/add-backend/files/generated-schema.graphql +235 -0
  13. package/lib/generators/add-backend/files/jest.config.js +27 -0
  14. package/lib/generators/add-backend/files/knexfile.js +63 -0
  15. package/lib/generators/add-backend/files/package.json +162 -0
  16. package/lib/generators/add-backend/files/src/api/remote-config.ts.template +11 -0
  17. package/lib/generators/add-backend/files/src/api/resolver.ts.template +15 -0
  18. package/lib/generators/add-backend/files/src/api/root-schema.graphqls +96 -0
  19. package/lib/generators/add-backend/files/src/api/scalar.ts.template +16 -0
  20. package/lib/generators/add-backend/files/src/api/schema-builder.ts.template +189 -0
  21. package/lib/generators/add-backend/files/src/api/utils.ts.template +44 -0
  22. package/lib/generators/add-backend/files/src/config/env-config.ts.template +34 -0
  23. package/lib/generators/add-backend/files/src/config/index.ts.template +1 -0
  24. package/lib/generators/add-backend/files/src/config/moleculer.config.ts.template +228 -0
  25. package/lib/generators/add-backend/files/src/connectors/connection-broker.ts.template +80 -0
  26. package/lib/generators/add-backend/files/src/connectors/graphql-pubsub-connector.ts.template +43 -0
  27. package/lib/generators/add-backend/files/src/connectors/mongo-connector.ts.template +78 -0
  28. package/lib/generators/add-backend/files/src/connectors/nats-connector.ts.template +82 -0
  29. package/lib/generators/add-backend/files/src/connectors/redis-connector.ts.template +73 -0
  30. package/lib/generators/add-backend/files/src/env.ts.template +5 -0
  31. package/lib/generators/add-backend/files/src/express-app.ts.template +67 -0
  32. package/lib/generators/add-backend/files/src/index.ts.template +56 -0
  33. package/lib/generators/add-backend/files/src/interfaces/index.ts.template +1 -0
  34. package/lib/generators/add-backend/files/src/interfaces/module-interface.ts.template +16 -0
  35. package/lib/generators/add-backend/files/src/main.spec.ts.template +129 -0
  36. package/lib/generators/add-backend/files/src/middleware/__tests__/cors.test.ts.template +12 -0
  37. package/lib/generators/add-backend/files/src/middleware/cors.ts.template +31 -0
  38. package/lib/generators/add-backend/files/src/middleware/error.ts.template +63 -0
  39. package/lib/generators/add-backend/files/src/middleware/moleculer-inter-namespace.ts.template +60 -0
  40. package/lib/generators/add-backend/files/src/middleware/persistedQuery.ts.template +40 -0
  41. package/lib/generators/add-backend/files/src/middleware/sentry.ts.template +9 -0
  42. package/lib/generators/add-backend/files/src/middleware/services.ts.template +16 -0
  43. package/lib/generators/add-backend/files/src/middleware/tracer.ts.template +24 -0
  44. package/lib/generators/add-backend/files/src/modules/auth/schema/auth-schema.graphql +25 -0
  45. package/lib/generators/add-backend/files/src/modules/index.ts.template +17 -0
  46. package/lib/generators/add-backend/files/src/modules/module.ts.template +78 -0
  47. package/lib/generators/add-backend/files/src/server-setup/graphql-server.ts.template +185 -0
  48. package/lib/generators/add-backend/files/src/server-setup/graphql-subscription-server.ts.template +113 -0
  49. package/lib/generators/add-backend/files/src/server-setup/graphql-ws.ts.template +158 -0
  50. package/lib/generators/add-backend/files/src/server-setup/mongodb-migration-update.ts.template +47 -0
  51. package/lib/generators/add-backend/files/src/server-setup/utils.ts.template +43 -0
  52. package/lib/generators/add-backend/files/src/server-setup/websocket-multipath-update.ts.template +88 -0
  53. package/lib/generators/add-backend/files/src/service.ts.template +36 -0
  54. package/lib/generators/add-backend/files/src/stack-server.ts.template +277 -0
  55. package/lib/generators/add-backend/files/src/utils/migrations.ts.template +32 -0
  56. package/lib/generators/add-backend/files/tsconfig.base.json +30 -0
  57. package/lib/generators/add-backend/files/tsconfig.json +19 -0
  58. package/lib/generators/add-backend/files/uploads/3986781.ppt +0 -0
  59. package/lib/generators/add-backend/files/webpack.config.js +186 -0
  60. package/lib/generators/add-backend/files/webpack.config.mjs +209 -0
  61. package/lib/generators/add-backend/generator.cjs +20 -0
  62. package/lib/generators/add-backend/generator.cjs.map +1 -0
  63. package/lib/generators/add-backend/generator.d.ts +4 -0
  64. package/lib/generators/add-backend/generator.mjs +20 -0
  65. package/lib/generators/add-backend/generator.mjs.map +1 -0
  66. package/lib/generators/add-backend/schema.json +17 -0
  67. package/lib/generators/add-frontend/generator.cjs +29 -0
  68. package/lib/generators/add-frontend/generator.cjs.map +1 -0
  69. package/lib/generators/add-frontend/generator.d.ts +4 -0
  70. package/lib/generators/add-frontend/generator.mjs +29 -0
  71. package/lib/generators/add-frontend/generator.mjs.map +1 -0
  72. package/lib/generators/add-frontend/generator.spec.d.ts +1 -0
  73. package/lib/generators/add-frontend/schema.json +21 -0
  74. package/lib/generators/add-frontend/templates/Dockerfile +30 -0
  75. package/lib/generators/add-frontend/templates/codecept.json +28 -0
  76. package/lib/generators/add-frontend/templates/config.json +58 -0
  77. package/lib/generators/add-frontend/templates/env.d.ts.template +9 -0
  78. package/lib/generators/add-frontend/templates/env.js +5 -0
  79. package/lib/generators/add-frontend/templates/favicon.ico +0 -0
  80. package/lib/generators/add-frontend/templates/jest.config.js +33 -0
  81. package/lib/generators/add-frontend/templates/package.json +182 -0
  82. package/lib/generators/add-frontend/templates/public/css/dashboard.css +491 -0
  83. package/lib/generators/add-frontend/templates/public/favicon.ico +0 -0
  84. package/lib/generators/add-frontend/templates/server.js +78 -0
  85. package/lib/generators/add-frontend/templates/src/config/public-config.ts.template +82 -0
  86. package/lib/generators/add-frontend/templates/tools/mergeConfig.js +34 -0
  87. package/lib/generators/add-frontend/templates/tsconfig.base.json +38 -0
  88. package/lib/generators/add-frontend/templates/tsconfig.json +32 -0
  89. package/lib/generators/add-frontend/templates/tsconfig.node.json +10 -0
  90. package/lib/generators/add-frontend/templates/vite.config.ts.template +70 -0
  91. package/lib/index.cjs +1 -1
  92. package/lib/index.d.ts +2 -1
  93. package/lib/index.mjs +1 -1
  94. package/lib/utils/index.cjs +8 -0
  95. package/lib/utils/index.cjs.map +1 -0
  96. package/lib/utils/index.d.ts +1 -0
  97. package/lib/utils/index.mjs +8 -0
  98. package/lib/utils/index.mjs.map +1 -0
  99. package/package.json +2 -2
  100. package/rollup.config.mjs +14 -5
  101. package/src/generators/{add-entries → add-backend}/generator.spec.ts +5 -5
  102. package/src/generators/add-backend/generator.ts +30 -0
  103. package/src/generators/add-backend/schema.d.ts +4 -0
  104. package/src/generators/add-backend/schema.json +17 -0
  105. package/src/generators/add-frontend/generator.spec.ts +20 -0
  106. package/src/generators/add-frontend/generator.ts +40 -0
  107. package/src/generators/add-frontend/schema.d.ts +5 -0
  108. package/src/generators/add-frontend/schema.json +21 -0
  109. package/src/index.ts +2 -2
  110. package/src/utils/index.ts +10 -0
  111. package/lib/generators/add-entries/generator.cjs +0 -55
  112. package/lib/generators/add-entries/generator.cjs.map +0 -1
  113. package/lib/generators/add-entries/generator.d.ts +0 -4
  114. package/lib/generators/add-entries/generator.mjs +0 -55
  115. package/lib/generators/add-entries/generator.mjs.map +0 -1
  116. package/lib/generators/add-entries/schema.json +0 -13
  117. package/src/generators/add-entries/files/common/AntStyles.tsx.template +0 -8
  118. package/src/generators/add-entries/files/common/createEmotionCache.ts.template +0 -7
  119. package/src/generators/add-entries/files/common/index.ts.template +0 -3
  120. package/src/generators/add-entries/files/common/utils.ts.template +0 -16
  121. package/src/generators/add-entries/generator.ts +0 -66
  122. package/src/generators/add-entries/schema.d.ts +0 -3
  123. package/src/generators/add-entries/schema.json +0 -13
  124. /package/lib/generators/{add-entries → add-backend}/generator.spec.d.ts +0 -0
  125. /package/lib/generators/{add-entries/entries → add-frontend/frameworks}/antui/entry.client.tsx.template +0 -0
  126. /package/lib/generators/{add-entries/entries → add-frontend/frameworks}/antui/entry.server.tsx.template +0 -0
  127. /package/lib/generators/{add-entries/entries → add-frontend/frameworks}/antui/root.tsx.template +0 -0
  128. /package/lib/generators/{add-entries/entries → add-frontend/frameworks}/chakraui/context.tsx.template +0 -0
  129. /package/lib/generators/{add-entries/entries → add-frontend/frameworks}/chakraui/entry.client.tsx.template +0 -0
  130. /package/lib/generators/{add-entries/entries → add-frontend/frameworks}/chakraui/entry.server.tsx.template +0 -0
  131. /package/lib/generators/{add-entries/entries → add-frontend/frameworks}/chakraui/root.tsx.template +0 -0
  132. /package/lib/generators/{add-entries/files → add-frontend/templates/src}/common/AntStyles.tsx.template +0 -0
  133. /package/lib/generators/{add-entries/files → add-frontend/templates/src}/common/createEmotionCache.ts.template +0 -0
  134. /package/lib/generators/{add-entries/files → add-frontend/templates/src}/common/index.ts.template +0 -0
  135. /package/lib/generators/{add-entries/files → add-frontend/templates/src}/common/utils.ts.template +0 -0
  136. /package/src/generators/{add-entries/entries → add-frontend/frameworks}/antui/entry.client.tsx.template +0 -0
  137. /package/src/generators/{add-entries/entries → add-frontend/frameworks}/antui/entry.server.tsx.template +0 -0
  138. /package/src/generators/{add-entries/entries → add-frontend/frameworks}/antui/root.tsx.template +0 -0
  139. /package/src/generators/{add-entries/entries → add-frontend/frameworks}/chakraui/context.tsx.template +0 -0
  140. /package/src/generators/{add-entries/entries → add-frontend/frameworks}/chakraui/entry.client.tsx.template +0 -0
  141. /package/src/generators/{add-entries/entries → add-frontend/frameworks}/chakraui/entry.server.tsx.template +0 -0
  142. /package/src/generators/{add-entries/entries → add-frontend/frameworks}/chakraui/root.tsx.template +0 -0
@@ -0,0 +1,209 @@
1
+ import 'source-map-support/register.js';
2
+ import webpack from 'webpack';
3
+ import path from 'path';
4
+ import { fileURLToPath } from 'url';
5
+ import CopyWebpackPlugin from 'copy-webpack-plugin';
6
+ import { CleanWebpackPlugin } from 'clean-webpack-plugin';
7
+ import nodeExternals from 'webpack-node-externals';
8
+ import Dotenv from 'dotenv-webpack';
9
+ import NodemonPlugin from 'nodemon-webpack-plugin';
10
+ import EnvListPlugin from '@common-stack/env-list-loader';
11
+ import buildConfig from './build.config.mjs';
12
+
13
+ const modulenameExtra = process.env.BUILD_MODULE_TO_INCLUDE ? `${process.env.BUILD_MODULE_TO_INCLUDE}|` : '';
14
+ let modulenameRegex;
15
+
16
+ // Get the directory name of the current module
17
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
18
+
19
+
20
+ try {
21
+ modulenameRegex = new RegExp(
22
+ `(${modulenameExtra}ts-invariant|webpack/hot/poll)|(\\.(css|less|scss|png|ico|jpg|gif|xml|woff|woff2|otf|ttf|eot|svg)(\\?[0-9a-z]+)?$)`,
23
+ );
24
+ console.log('Module Name Regex: ', modulenameRegex);
25
+ } catch (error) {
26
+ console.error('Error creating regex for module name: ', error);
27
+ }
28
+
29
+ if (process.env.BUILD_MODULE_TO_INCLUDE) {
30
+ console.log('Build Module to include (BUILD_MODULE_TO_INCLUDE): ', process.env.BUILD_MODULE_TO_INCLUDE);
31
+ } else {
32
+ console.log('BUILD_MODULE_TO_INCLUDE is not set.');
33
+ }
34
+
35
+ const config = {
36
+ entry: {
37
+ // index: (process.env.NODE_ENV !== 'production' ? ['webpack/hot/poll?200'] : []).concat([
38
+ // // 'raf/polyfill',
39
+ // './src/index.ts',
40
+ // ]),
41
+ server: {
42
+ import: './src/index.ts',
43
+ /*
44
+ * This prevents code-splitting of async imports into separate chunks.
45
+ * We can't allow that for the server, because Webpack will duplicate
46
+ * certain modules that must be shared into each chunk (context,
47
+ * gettext, DBDefs, linkedEntities, ...).
48
+ */
49
+ chunkLoading: false,
50
+ },
51
+ },
52
+ name: 'server',
53
+ module: {
54
+ rules: [
55
+ {
56
+ test: /\.(png|ico|jpg|gif|xml)$/,
57
+ use: { loader: 'url-loader', options: { name: '[hash].[ext]', limit: 100000 } },
58
+ },
59
+ {
60
+ test: /\.woff(2)?(\?[0-9a-z]+)?$/,
61
+ use: { loader: 'url-loader', options: { name: '[hash].[ext]', limit: 100000 } },
62
+ },
63
+ {
64
+ test: /\.(otf|ttf|eot|svg)(\?[0-9a-z]+)?$/,
65
+ use: { loader: 'file-loader', options: { name: '[hash].[ext]' } },
66
+ },
67
+ {
68
+ test: /\.css$/,
69
+ use: [
70
+ { loader: 'isomorphic-style-loader' },
71
+ { loader: 'css-loader', options: { sourceMap: true } },
72
+ { loader: 'postcss-loader', options: { sourceMap: true } },
73
+ ],
74
+ },
75
+ {
76
+ test: /\.scss$/,
77
+ use: [
78
+ { loader: 'isomorphic-style-loader' },
79
+ { loader: 'css-loader', options: { sourceMap: true } },
80
+ { loader: 'postcss-loader', options: { sourceMap: true } },
81
+ { loader: 'sass-loader', options: { sourceMap: true } },
82
+ ],
83
+ },
84
+ {
85
+ test: /\.less$/,
86
+ use: [
87
+ { loader: 'isomorphic-style-loader' },
88
+ { loader: 'css-loader', options: { sourceMap: true } },
89
+ { loader: 'postcss-loader', options: { sourceMap: true } },
90
+ { loader: 'less-loader', options: { javascriptEnabled: true, sourceMap: true } },
91
+ ],
92
+ },
93
+ { test: /\.graphqls/, use: { loader: 'raw-loader' } },
94
+ { test: /\.(graphql|gql)$/, use: [{ loader: 'graphql-tag/loader' }] },
95
+ // {
96
+ // test: /\.[tj]sx?$/,
97
+ // use: {
98
+ // loader: 'babel-loader',
99
+ // options: { babelrc: true, rootMode: 'upward-optional' },
100
+ // },
101
+ // },
102
+ {
103
+ test: /\.tsx?$/, // for TypeScript
104
+ loader: 'esbuild-loader',
105
+ options: {
106
+ loader: 'tsx', // Or 'ts' for TypeScript without JSX
107
+ target: 'es2015', // Specify ECMAScript target version
108
+ },
109
+ exclude: /node_modules/,
110
+ },
111
+ {
112
+ test: /\.jsx?$/, // for JavaScript
113
+ loader: 'esbuild-loader',
114
+ options: {
115
+ loader: 'jsx', // Or 'js' for plain JavaScript
116
+ target: 'es2015',
117
+ },
118
+ exclude: /node_modules/,
119
+ },
120
+ {
121
+ // searches for files ends with <dir>/config/env-config.js or <dir>/config/public-config.js
122
+ test: /config\/(env-config|public-config)\.(j|t)s/,
123
+ use: {
124
+ loader: '@common-stack/env-list-loader',
125
+ },
126
+ },
127
+ { test: /locales/, use: { loader: '@alienfast/i18next-loader' } },
128
+ ],
129
+ unsafeCache: false,
130
+ },
131
+ resolve: {
132
+ symlinks: true,
133
+ cacheWithContext: false,
134
+ unsafeCache: false,
135
+ extensions: [
136
+ '.web.mjs',
137
+ '.web.js',
138
+ '.web.jsx',
139
+ '.web.ts',
140
+ '.web.tsx',
141
+ '.mjs',
142
+ '.js',
143
+ '.jsx',
144
+ '.ts',
145
+ '.tsx',
146
+ '.json',
147
+ ],
148
+ },
149
+ watchOptions: { ignored: /dist/ },
150
+ output: {
151
+ pathinfo: false,
152
+ filename: 'index.js',
153
+ path: path.join(__dirname, 'dist'),
154
+ // publicPath: '/',
155
+ sourceMapFilename: '[name].[chunkhash].js.map',
156
+ module: true, // Enable outputting ESM
157
+ library: {
158
+ type: 'module' // Specify library target as module
159
+ }
160
+ },
161
+ devtool: process.env.NODE_ENV === 'production' ? 'nosources-source-map' : 'cheap-module-source-map',
162
+ mode: process.env.NODE_ENV || 'development',
163
+ performance: { hints: false },
164
+ plugins: (process.env.NODE_ENV !== 'production'
165
+ ? [
166
+ // new Dotenv(),
167
+ new webpack.HotModuleReplacementPlugin(),
168
+ new NodemonPlugin({ script: './dist/index.js' }),
169
+ ]
170
+ : []
171
+ ).concat([
172
+ // The plugin lists the environment that required as well recommendation about the keys used.
173
+ new EnvListPlugin.Plugin(),
174
+ new CleanWebpackPlugin({ cleanOnceBeforeBuildPatterns: ['dist'] }),
175
+ new webpack.DefinePlugin(
176
+ Object.assign(
177
+ ...Object.entries(buildConfig).map(([k, v]) => ({
178
+ [k]: typeof v !== 'string' ? v : `"${v.replace(/\\/g, '\\\\')}"`,
179
+ })),
180
+ ),
181
+ ),
182
+ // new CopyWebpackPlugin({
183
+ // patterns: [
184
+ // {
185
+ // from: '../../tools/esm-wrapper.js',
186
+ // to: 'index.js',
187
+ // },
188
+ // ],
189
+ // }),
190
+ ]),
191
+ target: 'node18',
192
+ experiments: {
193
+ outputModule: true
194
+ },
195
+ externals: [
196
+ nodeExternals(),
197
+ nodeExternals({
198
+ modulesDir: path.resolve(__dirname, '../../node_modules'),
199
+ allowlist: [modulenameRegex],
200
+ }),
201
+ ],
202
+ optimization: {
203
+ concatenateModules: false,
204
+ minimize: false,
205
+ },
206
+ // node: { __dirname: true, __filename: true },
207
+ };
208
+
209
+ export default config;
@@ -0,0 +1,20 @@
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var tslib=require('tslib'),devkit=require('@nx/devkit'),path=require('path'),index=require('../../utils/index.cjs');function _interopNamespaceDefault(e){var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var path__namespace=/*#__PURE__*/_interopNamespaceDefault(path);function addBackendGenerator(tree, options) {
2
+ return tslib.__awaiter(this, void 0, void 0, function* () {
3
+ const basePath = process.cwd();
4
+ const projectName = options.ns ? `backend-${options.ns}-server` : 'backend-server';
5
+ const projectRoot = options.path ? `${options.path}${projectName}` : projectName;
6
+ index.resetProject(`${basePath}/${projectRoot}`);
7
+ // addProjectConfiguration(tree, framework, {
8
+ // root: projectRoot,
9
+ // projectType: 'library',
10
+ // sourceRoot: projectSrc,
11
+ // targets: {},
12
+ // });
13
+ devkit.generateFiles(tree, path__namespace.join(__dirname, 'files'), projectRoot, {});
14
+ devkit.updateJson(tree, `${projectRoot}/package.json`, (packageJson) => {
15
+ packageJson['name'] = projectName;
16
+ return packageJson;
17
+ });
18
+ yield devkit.formatFiles(tree);
19
+ });
20
+ }exports.addBackendGenerator=addBackendGenerator;exports.default=addBackendGenerator;//# sourceMappingURL=generator.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.cjs","sources":["../../../src/generators/add-backend/generator.ts"],"sourcesContent":[null],"names":["resetProject","generateFiles","path","updateJson","formatFiles"],"mappings":"whBAKsB,SAAA,mBAAmB,CAAC,IAAU,EAAE,OAAkC,EAAA;;AACpF,QAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAC/B,QAAA,MAAM,WAAW,GAAG,OAAO,CAAC,EAAE,GAAG,CAAW,QAAA,EAAA,OAAO,CAAC,EAAE,CAAA,OAAA,CAAS,GAAG,gBAAgB,CAAC;AACnF,QAAA,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,GAAG,CAAA,EAAG,OAAO,CAAC,IAAI,GAAG,WAAW,CAAA,CAAE,GAAG,WAAW,CAAC;AAGjF,QAAAA,kBAAY,CAAC,CAAG,EAAA,QAAQ,IAAI,WAAW,CAAA,CAAE,CAAC,CAAC;;;;;;;AAS3C,QAAAC,oBAAa,CAAC,IAAI,EAAEC,eAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QACpEC,iBAAU,CAAC,IAAI,EAAE,CAAG,EAAA,WAAW,eAAe,EAAE,CAAC,WAAW,KAAI;AAC5D,YAAA,WAAW,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;AAClC,YAAA,OAAO,WAAW,CAAC;AACvB,SAAC,CAAC,CAAC;AAEH,QAAA,MAAMC,kBAAW,CAAC,IAAI,CAAC,CAAC;KAC3B,CAAA,CAAA;AAAA"}
@@ -0,0 +1,4 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { AddBackendGeneratorSchema } from './schema';
3
+ export declare function addBackendGenerator(tree: Tree, options: AddBackendGeneratorSchema): Promise<void>;
4
+ export default addBackendGenerator;
@@ -0,0 +1,20 @@
1
+ import {__awaiter}from'tslib';import {generateFiles,updateJson,formatFiles}from'@nx/devkit';import*as path from'path';import {resetProject}from'../../utils/index.mjs';function addBackendGenerator(tree, options) {
2
+ return __awaiter(this, void 0, void 0, function* () {
3
+ const basePath = process.cwd();
4
+ const projectName = options.ns ? `backend-${options.ns}-server` : 'backend-server';
5
+ const projectRoot = options.path ? `${options.path}${projectName}` : projectName;
6
+ resetProject(`${basePath}/${projectRoot}`);
7
+ // addProjectConfiguration(tree, framework, {
8
+ // root: projectRoot,
9
+ // projectType: 'library',
10
+ // sourceRoot: projectSrc,
11
+ // targets: {},
12
+ // });
13
+ generateFiles(tree, path.join(__dirname, 'files'), projectRoot, {});
14
+ updateJson(tree, `${projectRoot}/package.json`, (packageJson) => {
15
+ packageJson['name'] = projectName;
16
+ return packageJson;
17
+ });
18
+ yield formatFiles(tree);
19
+ });
20
+ }export{addBackendGenerator,addBackendGenerator as default};//# sourceMappingURL=generator.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.mjs","sources":["../../../src/generators/add-backend/generator.ts"],"sourcesContent":[null],"names":[],"mappings":"uKAKsB,SAAA,mBAAmB,CAAC,IAAU,EAAE,OAAkC,EAAA;;AACpF,QAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAC/B,QAAA,MAAM,WAAW,GAAG,OAAO,CAAC,EAAE,GAAG,CAAW,QAAA,EAAA,OAAO,CAAC,EAAE,CAAA,OAAA,CAAS,GAAG,gBAAgB,CAAC;AACnF,QAAA,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,GAAG,CAAA,EAAG,OAAO,CAAC,IAAI,GAAG,WAAW,CAAA,CAAE,GAAG,WAAW,CAAC;AAGjF,QAAA,YAAY,CAAC,CAAG,EAAA,QAAQ,IAAI,WAAW,CAAA,CAAE,CAAC,CAAC;;;;;;;AAS3C,QAAA,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QACpE,UAAU,CAAC,IAAI,EAAE,CAAG,EAAA,WAAW,eAAe,EAAE,CAAC,WAAW,KAAI;AAC5D,YAAA,WAAW,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;AAClC,YAAA,OAAO,WAAW,CAAC;AACvB,SAAC,CAAC,CAAC;AAEH,QAAA,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;KAC3B,CAAA,CAAA;AAAA"}
@@ -0,0 +1,17 @@
1
+ {
2
+ "$schema": "https://json-schema.org/schema",
3
+ "$id": "AddBackend",
4
+ "title": "",
5
+ "type": "object",
6
+ "properties": {
7
+ "ns": {
8
+ "type": "string",
9
+ "description": "The project namespace"
10
+ },
11
+ "path": {
12
+ "type": "string",
13
+ "description": "The project path ex: \"servers/\", default: \"/\""
14
+ }
15
+ },
16
+ "required": ["ns"]
17
+ }
@@ -0,0 +1,29 @@
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var tslib=require('tslib'),devkit=require('@nx/devkit'),path=require('path'),index=require('../../utils/index.cjs');function _interopNamespaceDefault(e){var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var path__namespace=/*#__PURE__*/_interopNamespaceDefault(path);const DEFAULT_FRAMEWORK = 'antui';
2
+ function addFrontendGenerator(tree, options) {
3
+ return tslib.__awaiter(this, void 0, void 0, function* () {
4
+ const basePath = process.cwd();
5
+ const projectName = options.ns ? `frontend-${options.ns}-server` : 'frontend-server';
6
+ const projectRoot = options.path ? `${options.path}${projectName}` : projectName;
7
+ const projectSrc = `${projectRoot}/src`;
8
+ const framework = options.framework || DEFAULT_FRAMEWORK;
9
+ console.log('UI framework specified: ', framework);
10
+ index.resetProject(`${basePath}/${projectRoot}`);
11
+ // addProjectConfiguration(tree, framework, {
12
+ // root: projectRoot,
13
+ // projectType: 'library',
14
+ // sourceRoot: projectSrc,
15
+ // targets: {},
16
+ // });
17
+ devkit.generateFiles(tree, path__namespace.join(__dirname, 'templates'), projectRoot, {});
18
+ devkit.generateFiles(tree, path__namespace.join(__dirname, 'frameworks', framework), projectSrc, options);
19
+ devkit.updateJson(tree, `${projectRoot}/package.json`, (packageJson) => {
20
+ packageJson['name'] = projectName;
21
+ return packageJson;
22
+ });
23
+ devkit.updateJson(tree, `${projectRoot}/config.json`, (configJson) => {
24
+ configJson['uiFramework'] = framework;
25
+ return configJson;
26
+ });
27
+ yield devkit.formatFiles(tree);
28
+ });
29
+ }exports.addFrontendGenerator=addFrontendGenerator;exports.default=addFrontendGenerator;//# sourceMappingURL=generator.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.cjs","sources":["../../../src/generators/add-frontend/generator.ts"],"sourcesContent":[null],"names":["resetProject","generateFiles","path","updateJson","formatFiles"],"mappings":"whBAKA,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAEZ,SAAA,oBAAoB,CAAC,IAAU,EAAE,OAAmC,EAAA;;AACtF,QAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAC/B,QAAA,MAAM,WAAW,GAAG,OAAO,CAAC,EAAE,GAAG,CAAY,SAAA,EAAA,OAAO,CAAC,EAAE,CAAA,OAAA,CAAS,GAAG,iBAAiB,CAAC;AACrF,QAAA,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,GAAG,CAAA,EAAG,OAAO,CAAC,IAAI,GAAG,WAAW,CAAA,CAAE,GAAG,WAAW,CAAC;AACjF,QAAA,MAAM,UAAU,GAAG,CAAG,EAAA,WAAW,MAAM,CAAC;AAExC,QAAA,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,iBAAiB,CAAC;AACzD,QAAA,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAC;AAEnD,QAAAA,kBAAY,CAAC,CAAG,EAAA,QAAQ,IAAI,WAAW,CAAA,CAAE,CAAC,CAAC;;;;;;;AAS3C,QAAAC,oBAAa,CAAC,IAAI,EAAEC,eAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;AACxE,QAAAD,oBAAa,CAAC,IAAI,EAAEC,eAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACxFC,iBAAU,CAAC,IAAI,EAAE,CAAG,EAAA,WAAW,eAAe,EAAE,CAAC,WAAW,KAAI;AAC5D,YAAA,WAAW,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;AAClC,YAAA,OAAO,WAAW,CAAC;AACvB,SAAC,CAAC,CAAC;QACHA,iBAAU,CAAC,IAAI,EAAE,CAAG,EAAA,WAAW,cAAc,EAAE,CAAC,UAAU,KAAI;AAC1D,YAAA,UAAU,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;AACtC,YAAA,OAAO,UAAU,CAAC;AACtB,SAAC,CAAC,CAAC;AAEH,QAAA,MAAMC,kBAAW,CAAC,IAAI,CAAC,CAAC;KAC3B,CAAA,CAAA;AAAA"}
@@ -0,0 +1,4 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { AddFrontendGeneratorSchema } from './schema';
3
+ export declare function addFrontendGenerator(tree: Tree, options: AddFrontendGeneratorSchema): Promise<void>;
4
+ export default addFrontendGenerator;
@@ -0,0 +1,29 @@
1
+ import {__awaiter}from'tslib';import {generateFiles,updateJson,formatFiles}from'@nx/devkit';import*as path from'path';import {resetProject}from'../../utils/index.mjs';const DEFAULT_FRAMEWORK = 'antui';
2
+ function addFrontendGenerator(tree, options) {
3
+ return __awaiter(this, void 0, void 0, function* () {
4
+ const basePath = process.cwd();
5
+ const projectName = options.ns ? `frontend-${options.ns}-server` : 'frontend-server';
6
+ const projectRoot = options.path ? `${options.path}${projectName}` : projectName;
7
+ const projectSrc = `${projectRoot}/src`;
8
+ const framework = options.framework || DEFAULT_FRAMEWORK;
9
+ console.log('UI framework specified: ', framework);
10
+ resetProject(`${basePath}/${projectRoot}`);
11
+ // addProjectConfiguration(tree, framework, {
12
+ // root: projectRoot,
13
+ // projectType: 'library',
14
+ // sourceRoot: projectSrc,
15
+ // targets: {},
16
+ // });
17
+ generateFiles(tree, path.join(__dirname, 'templates'), projectRoot, {});
18
+ generateFiles(tree, path.join(__dirname, 'frameworks', framework), projectSrc, options);
19
+ updateJson(tree, `${projectRoot}/package.json`, (packageJson) => {
20
+ packageJson['name'] = projectName;
21
+ return packageJson;
22
+ });
23
+ updateJson(tree, `${projectRoot}/config.json`, (configJson) => {
24
+ configJson['uiFramework'] = framework;
25
+ return configJson;
26
+ });
27
+ yield formatFiles(tree);
28
+ });
29
+ }export{addFrontendGenerator,addFrontendGenerator as default};//# sourceMappingURL=generator.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.mjs","sources":["../../../src/generators/add-frontend/generator.ts"],"sourcesContent":[null],"names":[],"mappings":"uKAKA,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAEZ,SAAA,oBAAoB,CAAC,IAAU,EAAE,OAAmC,EAAA;;AACtF,QAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAC/B,QAAA,MAAM,WAAW,GAAG,OAAO,CAAC,EAAE,GAAG,CAAY,SAAA,EAAA,OAAO,CAAC,EAAE,CAAA,OAAA,CAAS,GAAG,iBAAiB,CAAC;AACrF,QAAA,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,GAAG,CAAA,EAAG,OAAO,CAAC,IAAI,GAAG,WAAW,CAAA,CAAE,GAAG,WAAW,CAAC;AACjF,QAAA,MAAM,UAAU,GAAG,CAAG,EAAA,WAAW,MAAM,CAAC;AAExC,QAAA,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,iBAAiB,CAAC;AACzD,QAAA,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAC;AAEnD,QAAA,YAAY,CAAC,CAAG,EAAA,QAAQ,IAAI,WAAW,CAAA,CAAE,CAAC,CAAC;;;;;;;AAS3C,QAAA,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;AACxE,QAAA,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACxF,UAAU,CAAC,IAAI,EAAE,CAAG,EAAA,WAAW,eAAe,EAAE,CAAC,WAAW,KAAI;AAC5D,YAAA,WAAW,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;AAClC,YAAA,OAAO,WAAW,CAAC;AACvB,SAAC,CAAC,CAAC;QACH,UAAU,CAAC,IAAI,EAAE,CAAG,EAAA,WAAW,cAAc,EAAE,CAAC,UAAU,KAAI;AAC1D,YAAA,UAAU,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;AACtC,YAAA,OAAO,UAAU,CAAC;AACtB,SAAC,CAAC,CAAC;AAEH,QAAA,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;KAC3B,CAAA,CAAA;AAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,21 @@
1
+ {
2
+ "$schema": "https://json-schema.org/schema",
3
+ "$id": "AddFrontend",
4
+ "title": "",
5
+ "type": "object",
6
+ "properties": {
7
+ "ns": {
8
+ "type": "string",
9
+ "description": "The project namespace"
10
+ },
11
+ "path": {
12
+ "type": "string",
13
+ "description": "The project path ex: \"servers/\", default: \"/\""
14
+ },
15
+ "framework": {
16
+ "type": "string",
17
+ "description": "UI framework in [antui, chakraui]"
18
+ }
19
+ },
20
+ "required": ["ns"]
21
+ }
@@ -0,0 +1,30 @@
1
+ # The official nodejs docker image
2
+ FROM node:18.20-bullseye
3
+ ENV PYTHON /usr/bin/python
4
+
5
+ # Copy package.json only to temp folder, install its dependencies,
6
+ # set workdir and copy the dependnecies there
7
+ # This way, dependnecies are cached without the need of cacheing all files.
8
+
9
+ COPY .npmrc /tmp/.npmrc
10
+ ADD package.json /tmp/package.json
11
+ RUN set -ex \
12
+ && cd /tmp \
13
+ && npm install -g node-gyp \
14
+ && yarn config set network-timeout 300000 \
15
+ && yarn install \
16
+ && rm -f /tmp/.npmrc \
17
+ && mkdir -p /home/app \
18
+ && cp -a /tmp/node_modules /home/app/ \
19
+ && rm -Rf /tmp/*
20
+
21
+
22
+ WORKDIR /home/app
23
+
24
+ # Copy the rest of the files to the container workdir
25
+ ADD . /home/app
26
+
27
+ ENV PORT=3000
28
+ EXPOSE ${PORT}
29
+
30
+ CMD ["yarn", "start"]
@@ -0,0 +1,28 @@
1
+ {
2
+ "output": "./e2e/output",
3
+ "helpers": {
4
+ "Puppeteer": {
5
+ "show": true,
6
+ "url": "http://localhost:3000"
7
+ }
8
+ },
9
+ "include": {
10
+ "I": "./e2e/steps_file.js",
11
+ "loginPage": "./e2e/pages/Login.js",
12
+ "dashboardPage": "./e2e/pages/Dashboard.js",
13
+ "workspaceFormPage": "./e2e/pages/WorkspaceForm.js"
14
+ },
15
+ "mocha": {},
16
+ "bootstrap": false,
17
+ "teardown": null,
18
+ "hooks": [],
19
+ "gherkin": {},
20
+ "plugins": {
21
+ "screenshotOnFail": {
22
+ "enabled": true
23
+ }
24
+ },
25
+ "tests": "./e2e/**/*_test.js",
26
+ "timeout": 10000,
27
+ "name": "frontend-server"
28
+ }
@@ -0,0 +1,58 @@
1
+ {
2
+ "commonPaths": {
3
+ },
4
+ "copyOperations": [
5
+ ],
6
+ "i18n": {
7
+ "enabled": true,
8
+ "fallbackLng": "en",
9
+ "supportedLngs": [
10
+ "en",
11
+ "de",
12
+ "es"
13
+ ],
14
+ "defaultNS": "common",
15
+ "react": {
16
+ "useSuspense": false
17
+ },
18
+ "backend": {
19
+ "loadPath": "/cdm-locales/{{lng}}/{{ns}}.json",
20
+ "loadServerPath": "./public/cdm-locales/{{lng}}/{{ns}}.json"
21
+ },
22
+ "packages": [
23
+ ]
24
+ },
25
+ "modules": [
26
+ "@admin-layout/ant-design-pro",
27
+ "@adminide-stack/account-api-browser",
28
+ "@adminide-stack/extension-module-browser",
29
+ "@adminide-stack/user-auth0-browser",
30
+ "@adminide-stack/user-auth0-browser-ant",
31
+ "@adminide-stack/billing-api-browser",
32
+ "@adminide-stack/registry-api-browser",
33
+ "@adminide-stack/git-api-browser",
34
+ "@adminide-stack/project-mgmt-browser",
35
+ "@adminide-stack/integration-api-client",
36
+ "@adminide-stack/marketplace-module-browser"
37
+ ],
38
+ "paths": {
39
+ "lifecycleMiddleware": "@adminide-stack/platform-client/lib/middleware/lifecycleMiddleware.js"
40
+ },
41
+ "buildConfig": {
42
+ "__CLIENT__": false,
43
+ "__SERVER__": true,
44
+ "__DEV__": false,
45
+ "__TEST__": false,
46
+ "__CDN_URL__": "",
47
+ "__GRAPHQL_URL__": "http://localhost:8080/graphql",
48
+ "__DEBUGGING__": false,
49
+ "__SSR__": true,
50
+ "__API_URL__": "/graphql",
51
+ "__FRONTEND_BUILD_DIR__": "./dist/client",
52
+ "__WEB_DEV_SERVER_PORT__": 3000,
53
+ "__GRAPHQL_ENDPOINT__": "/graphql",
54
+ "__LOCAL_SERVER_HOST__": "localhost",
55
+ "__BACKEND_URL__": "http://localhost:3000"
56
+ }
57
+ }
58
+
@@ -0,0 +1,9 @@
1
+ /// <reference types="vite/client" />
2
+ /// <reference types="@remix-run/node" />
3
+
4
+ interface Window {
5
+ __ENV__: any,
6
+ __APOLLO_STATE__: any,
7
+ __PRELOADED_STATE__: any,
8
+ __SLOT_FILLS__: any,
9
+ }
@@ -0,0 +1,5 @@
1
+ /* eslint-disable jest/require-hook */
2
+ import * as dotenv from 'dotenv-esm';
3
+ if (process.env.ENV_FILE) {
4
+ dotenv.config({ path: process.env.ENV_FILE });
5
+ }
@@ -0,0 +1,33 @@
1
+ const base = require('../../jest.config.base');
2
+ const packageJson = require('./package');
3
+ const merge = require('merge')
4
+ const baseConfig = require('../../jest.config.base');
5
+ const mongodbConfig = require('../../jest.config.mongodb');
6
+
7
+ const mergeData = merge.recursive(
8
+ baseConfig,
9
+ {
10
+ "transform": {
11
+ "\\.(js|jsx)?$": "../../transform.js",
12
+ },
13
+ moduleNameMapper: {
14
+ '^__mocks__/(.*)$': '<rootDir>/../../__mocks__/$1',
15
+ // we'll use commonjs version of lodash for tests 👌
16
+ // because we don't need to use any kind of tree shaking right?!
17
+ '^lodash-es$': '<rootDir>/../../node_modules/lodash/index.js',
18
+ '@adminide-stack\/core': '<rootDir>/../core/src/index.ts',
19
+ },
20
+ roots: [
21
+ // "src",
22
+ "loader"
23
+ ],
24
+ },
25
+ mongodbConfig,
26
+ {
27
+ globals: {
28
+
29
+ }
30
+ }
31
+ );
32
+
33
+ module.exports = mergeData;