@common-stack/generate-plugin 6.0.1-alpha.9 → 6.0.2-alpha.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 (233) hide show
  1. package/.eslintrc.json +1 -1
  2. package/CHANGELOG.md +12 -0
  3. package/README.md +280 -10
  4. package/cde-config.json +86 -0
  5. package/executors.json +14 -0
  6. package/generators.json +15 -0
  7. package/lib/constants/index.cjs +2 -1
  8. package/lib/constants/index.cjs.map +1 -1
  9. package/lib/constants/index.d.ts +1 -0
  10. package/lib/constants/index.mjs +2 -1
  11. package/lib/constants/index.mjs.map +1 -1
  12. package/lib/executors/sort-package-json/executor.cjs +46 -0
  13. package/lib/executors/sort-package-json/executor.cjs.map +1 -0
  14. package/lib/executors/sort-package-json/executor.d.ts +4 -0
  15. package/lib/executors/sort-package-json/executor.mjs +46 -0
  16. package/lib/executors/sort-package-json/executor.mjs.map +1 -0
  17. package/lib/executors/sort-package-json/executor.spec.d.ts +1 -0
  18. package/lib/executors/sort-package-json/schema.json +9 -0
  19. package/lib/executors/update-deploy-version/executor.cjs +22 -0
  20. package/lib/executors/update-deploy-version/executor.cjs.map +1 -0
  21. package/lib/executors/update-deploy-version/executor.d.ts +4 -0
  22. package/lib/executors/update-deploy-version/executor.mjs +22 -0
  23. package/lib/executors/update-deploy-version/executor.mjs.map +1 -0
  24. package/lib/executors/update-deploy-version/executor.spec.d.ts +1 -0
  25. package/lib/executors/update-deploy-version/schema.json +14 -0
  26. package/lib/generators/add-backend/files/CHANGELOG.md +0 -0
  27. package/lib/generators/add-backend/files/Dockerfile +1 -1
  28. package/lib/generators/add-backend/files/package.json +1 -18
  29. package/lib/generators/add-backend/files/tsconfig.json +1 -1
  30. package/lib/generators/add-backend/files/webpack.config.js +6 -10
  31. package/lib/generators/add-backend/generator.cjs +21 -17
  32. package/lib/generators/add-backend/generator.cjs.map +1 -1
  33. package/lib/generators/add-backend/generator.d.ts +1 -0
  34. package/lib/generators/add-backend/generator.mjs +21 -17
  35. package/lib/generators/add-backend/generator.mjs.map +1 -1
  36. package/lib/generators/add-browser-package/files/package.json +2 -2
  37. package/lib/generators/add-browser-package/generator.cjs +14 -16
  38. package/lib/generators/add-browser-package/generator.cjs.map +1 -1
  39. package/lib/generators/add-browser-package/generator.d.ts +1 -0
  40. package/lib/generators/add-browser-package/generator.mjs +14 -16
  41. package/lib/generators/add-browser-package/generator.mjs.map +1 -1
  42. package/lib/generators/add-client-package/files/CHANGELOG.md +807 -0
  43. package/lib/generators/add-client-package/files/LICENSE +674 -0
  44. package/lib/generators/add-client-package/files/jest.config.js +13 -0
  45. package/lib/generators/add-client-package/files/package.json +30 -0
  46. package/lib/generators/add-client-package/files/rollup.config.mjs +29 -0
  47. package/lib/generators/add-client-package/files/src/components/index.tsx.template +1 -0
  48. package/lib/generators/add-client-package/files/src/index.ts.template +1 -0
  49. package/lib/generators/add-client-package/files/tsconfig.json +27 -0
  50. package/lib/generators/add-client-package/files/webpack.config.js +72 -0
  51. package/lib/generators/add-client-package/generator.cjs +17 -0
  52. package/lib/generators/add-client-package/generator.cjs.map +1 -0
  53. package/lib/generators/add-client-package/generator.d.ts +5 -0
  54. package/lib/generators/add-client-package/generator.mjs +17 -0
  55. package/lib/generators/add-client-package/generator.mjs.map +1 -0
  56. package/lib/generators/add-client-package/generator.spec.d.ts +1 -0
  57. package/lib/generators/add-client-package/schema.json +19 -0
  58. package/lib/generators/add-core-package/files/CHANGELOG.md +1076 -0
  59. package/lib/generators/add-core-package/files/LICENSE +39 -0
  60. package/lib/generators/add-core-package/files/jest.config.js +3 -0
  61. package/lib/generators/add-core-package/files/package.json +30 -0
  62. package/lib/generators/add-core-package/files/rollup.config.mjs +65 -0
  63. package/lib/generators/add-core-package/files/src/constants/index.ts.template +1 -0
  64. package/lib/generators/add-core-package/files/src/constants/types.ts.template +3 -0
  65. package/lib/generators/add-core-package/files/src/index.ts.template +2 -0
  66. package/lib/generators/add-core-package/files/src/types/index.ts.template +1 -0
  67. package/lib/generators/add-core-package/files/src/types/types.ts.template +17 -0
  68. package/lib/generators/add-core-package/files/tsconfig.json +22 -0
  69. package/lib/generators/add-core-package/files/webpack.config.js +53 -0
  70. package/lib/generators/add-core-package/generator.cjs +17 -0
  71. package/lib/generators/add-core-package/generator.cjs.map +1 -0
  72. package/lib/generators/add-core-package/generator.d.ts +5 -0
  73. package/lib/generators/add-core-package/generator.mjs +17 -0
  74. package/lib/generators/add-core-package/generator.mjs.map +1 -0
  75. package/lib/generators/add-core-package/generator.spec.d.ts +1 -0
  76. package/lib/generators/add-core-package/schema.json +19 -0
  77. package/lib/generators/add-frontend/frameworks/tailwindui/entry.client.tsx.template +90 -0
  78. package/lib/generators/add-frontend/frameworks/tailwindui/entry.server.tsx.template +238 -0
  79. package/lib/generators/add-frontend/frameworks/tailwindui/root.tsx.template +117 -0
  80. package/lib/generators/add-frontend/frameworks/tailwindui/tailwind.css +3 -0
  81. package/lib/generators/add-frontend/generator.cjs +60 -42
  82. package/lib/generators/add-frontend/generator.cjs.map +1 -1
  83. package/lib/generators/add-frontend/generator.d.ts +1 -0
  84. package/lib/generators/add-frontend/generator.mjs +60 -42
  85. package/lib/generators/add-frontend/generator.mjs.map +1 -1
  86. package/lib/generators/add-frontend/schema.json +1 -1
  87. package/lib/generators/add-frontend/templates/package.json +18 -76
  88. package/lib/generators/add-frontend/templates/postcss.config.js +6 -0
  89. package/lib/generators/add-frontend/templates/tailwind.config.ts.template +12 -0
  90. package/lib/generators/add-fullstack/files/jest-mongodb-config.js +3 -2
  91. package/lib/generators/add-fullstack/files/jest.config copy.js +27 -0
  92. package/lib/generators/add-fullstack/files/jest.config.base.js +43 -4
  93. package/lib/generators/add-fullstack/files/jest.config.base.mjs +99 -0
  94. package/lib/generators/add-fullstack/files/jest.config.mongodb.mjs +3 -0
  95. package/lib/generators/add-fullstack/files/lint-staged.config.js +4 -1
  96. package/lib/generators/add-fullstack/files/nx.json +18 -13
  97. package/lib/generators/add-fullstack/files/package.json +8 -8
  98. package/lib/generators/add-fullstack/files/tools/cli/helpers/util.js +1 -1
  99. package/lib/generators/add-fullstack/files/tools/deploy-cli/updateLernaVersion.js +1 -1
  100. package/lib/generators/add-fullstack/files/tools/prettier.config.js +8 -0
  101. package/lib/generators/add-fullstack/files/tools/rollup/rollupPluginGenerateJson.mjs +48 -0
  102. package/lib/generators/add-fullstack/files/tools/rollup/rollupPluginModifyLibFiles.mjs +410 -0
  103. package/lib/generators/add-fullstack/files/tools/runLint.mjs +15 -0
  104. package/lib/generators/add-fullstack/files/tools/sortPackageJson.mjs +0 -1
  105. package/lib/generators/add-fullstack/files/tools/update-dependencies.mjs +95 -0
  106. package/lib/generators/add-fullstack/files/tools/update-dependency-link.mjs +138 -0
  107. package/lib/generators/add-fullstack/files/tools/update-dependency-version.js +104 -89
  108. package/lib/generators/add-fullstack/files/tools/updateUtils.mjs +77 -0
  109. package/lib/generators/add-fullstack/generator.cjs +63 -2
  110. package/lib/generators/add-fullstack/generator.cjs.map +1 -1
  111. package/lib/generators/add-fullstack/generator.mjs +63 -2
  112. package/lib/generators/add-fullstack/generator.mjs.map +1 -1
  113. package/lib/generators/add-fullstack/schema.json +4 -0
  114. package/lib/generators/add-moleculer/files/package.json +7 -7
  115. package/lib/generators/add-moleculer/generator.cjs +14 -16
  116. package/lib/generators/add-moleculer/generator.cjs.map +1 -1
  117. package/lib/generators/add-moleculer/generator.d.ts +1 -0
  118. package/lib/generators/add-moleculer/generator.mjs +14 -16
  119. package/lib/generators/add-moleculer/generator.mjs.map +1 -1
  120. package/lib/generators/add-server-package/files/CHANGELOG.md +2599 -0
  121. package/lib/generators/add-server-package/files/LICENSE +674 -0
  122. package/lib/generators/add-server-package/files/jest.config.js +32 -0
  123. package/lib/generators/add-server-package/files/package.json +78 -0
  124. package/lib/generators/add-server-package/files/rollup.config.mjs +30 -0
  125. package/lib/generators/add-server-package/files/src/constants/constants.ts.template +62 -0
  126. package/lib/generators/add-server-package/files/src/constants/index.ts.template +1 -0
  127. package/lib/generators/add-server-package/files/src/constants/types.ts.template +21 -0
  128. package/lib/generators/add-server-package/files/src/index.ts.template +6 -0
  129. package/lib/generators/add-server-package/files/src/module.ts.template +6 -0
  130. package/lib/generators/add-server-package/files/tsconfig.json +27 -0
  131. package/lib/generators/add-server-package/generator.cjs +17 -0
  132. package/lib/generators/add-server-package/generator.cjs.map +1 -0
  133. package/lib/generators/add-server-package/generator.d.ts +5 -0
  134. package/lib/generators/add-server-package/generator.mjs +17 -0
  135. package/lib/generators/add-server-package/generator.mjs.map +1 -0
  136. package/lib/generators/add-server-package/generator.spec.d.ts +1 -0
  137. package/lib/generators/add-server-package/schema.json +19 -0
  138. package/lib/index.cjs +1 -1
  139. package/lib/index.d.ts +5 -0
  140. package/lib/index.mjs +1 -1
  141. package/package.json +4 -2
  142. package/project.json +12 -1
  143. package/rollup.config.mjs +8 -0
  144. package/src/constants/index.ts +2 -1
  145. package/src/executors/sort-package-json/executor.spec.ts +18 -0
  146. package/src/executors/sort-package-json/executor.ts +53 -0
  147. package/src/executors/sort-package-json/schema.d.ts +1 -0
  148. package/src/executors/sort-package-json/schema.json +9 -0
  149. package/src/executors/update-deploy-version/executor.spec.ts +18 -0
  150. package/src/executors/update-deploy-version/executor.ts +36 -0
  151. package/src/executors/update-deploy-version/schema.d.ts +3 -0
  152. package/src/executors/update-deploy-version/schema.json +14 -0
  153. package/src/generators/add-backend/generator.ts +8 -4
  154. package/src/generators/add-browser-package/generator.ts +7 -6
  155. package/src/generators/add-client-package/generator.spec.ts +20 -0
  156. package/src/generators/add-client-package/generator.ts +24 -0
  157. package/src/generators/add-client-package/schema.d.ts +4 -0
  158. package/src/generators/add-client-package/schema.json +19 -0
  159. package/src/generators/add-core-package/generator.spec.ts +20 -0
  160. package/src/generators/add-core-package/generator.ts +24 -0
  161. package/src/generators/add-core-package/schema.d.ts +4 -0
  162. package/src/generators/add-core-package/schema.json +19 -0
  163. package/src/generators/add-frontend/frameworks/tailwindui/entry.client.tsx.template +90 -0
  164. package/src/generators/add-frontend/frameworks/tailwindui/entry.server.tsx.template +238 -0
  165. package/src/generators/add-frontend/frameworks/tailwindui/root.tsx.template +117 -0
  166. package/src/generators/add-frontend/frameworks/tailwindui/tailwind.css +3 -0
  167. package/src/generators/add-frontend/generator.ts +24 -2
  168. package/src/generators/add-frontend/schema.json +1 -1
  169. package/src/generators/add-fullstack/files/jest-mongodb-config.js +3 -2
  170. package/src/generators/add-fullstack/files/jest.config copy.js +27 -0
  171. package/src/generators/add-fullstack/files/jest.config.base.js +43 -4
  172. package/src/generators/add-fullstack/files/jest.config.base.mjs +99 -0
  173. package/src/generators/add-fullstack/files/jest.config.mongodb.mjs +3 -0
  174. package/src/generators/add-fullstack/files/lint-staged.config.js +4 -1
  175. package/src/generators/add-fullstack/files/nx.json +18 -13
  176. package/src/generators/add-fullstack/files/package.json +8 -8
  177. package/src/generators/add-fullstack/files/tools/cli/helpers/util.js +1 -1
  178. package/src/generators/add-fullstack/files/tools/deploy-cli/updateLernaVersion.js +1 -1
  179. package/src/generators/add-fullstack/files/tools/prettier.config.js +8 -0
  180. package/src/generators/add-fullstack/files/tools/rollup/rollupPluginGenerateJson.mjs +48 -0
  181. package/src/generators/add-fullstack/files/tools/rollup/rollupPluginModifyLibFiles.mjs +410 -0
  182. package/src/generators/add-fullstack/files/tools/runLint.mjs +15 -0
  183. package/src/generators/add-fullstack/files/tools/sortPackageJson.mjs +0 -1
  184. package/src/generators/add-fullstack/files/tools/update-dependencies.mjs +95 -0
  185. package/src/generators/add-fullstack/files/tools/update-dependency-link.mjs +138 -0
  186. package/src/generators/add-fullstack/files/tools/update-dependency-version.js +104 -89
  187. package/src/generators/add-fullstack/files/tools/updateUtils.mjs +77 -0
  188. package/src/generators/add-fullstack/generator.ts +83 -1
  189. package/src/generators/add-fullstack/schema.d.ts +1 -0
  190. package/src/generators/add-fullstack/schema.json +4 -0
  191. package/src/generators/add-moleculer/files/package.json +7 -7
  192. package/src/generators/add-moleculer/generator.ts +7 -6
  193. package/src/generators/add-server-package/generator.spec.ts +20 -0
  194. package/src/generators/add-server-package/generator.ts +24 -0
  195. package/src/generators/add-server-package/schema.d.ts +4 -0
  196. package/src/generators/add-server-package/schema.json +19 -0
  197. package/src/index.ts +5 -0
  198. package/lib/generators/add-backend/files/knexfile.js +0 -63
  199. package/lib/generators/add-backend/files/src/api/remote-config.ts.template +0 -11
  200. package/lib/generators/add-backend/files/src/api/resolver.ts.template +0 -15
  201. package/lib/generators/add-backend/files/src/api/scalar.ts.template +0 -16
  202. package/lib/generators/add-backend/files/src/api/schema-builder.ts.template +0 -189
  203. package/lib/generators/add-backend/files/src/api/utils.ts.template +0 -44
  204. package/lib/generators/add-backend/files/src/config/moleculer.config.ts.template +0 -228
  205. package/lib/generators/add-backend/files/src/connectors/connection-broker.ts.template +0 -80
  206. package/lib/generators/add-backend/files/src/connectors/graphql-pubsub-connector.ts.template +0 -43
  207. package/lib/generators/add-backend/files/src/connectors/mongo-connector.ts.template +0 -78
  208. package/lib/generators/add-backend/files/src/connectors/nats-connector.ts.template +0 -82
  209. package/lib/generators/add-backend/files/src/connectors/redis-connector.ts.template +0 -73
  210. package/lib/generators/add-backend/files/src/express-app.ts.template +0 -67
  211. package/lib/generators/add-backend/files/src/interfaces/index.ts.template +0 -1
  212. package/lib/generators/add-backend/files/src/interfaces/module-interface.ts.template +0 -16
  213. package/lib/generators/add-backend/files/src/main.spec.ts.template +0 -129
  214. package/lib/generators/add-backend/files/src/middleware/__tests__/cors.test.ts.template +0 -12
  215. package/lib/generators/add-backend/files/src/middleware/cors.ts.template +0 -31
  216. package/lib/generators/add-backend/files/src/middleware/error.ts.template +0 -63
  217. package/lib/generators/add-backend/files/src/middleware/moleculer-inter-namespace.ts.template +0 -60
  218. package/lib/generators/add-backend/files/src/middleware/persistedQuery.ts.template +0 -40
  219. package/lib/generators/add-backend/files/src/middleware/sentry.ts.template +0 -9
  220. package/lib/generators/add-backend/files/src/middleware/services.ts.template +0 -16
  221. package/lib/generators/add-backend/files/src/middleware/tracer.ts.template +0 -24
  222. package/lib/generators/add-backend/files/src/modules/auth/schema/auth-schema.graphql +0 -25
  223. package/lib/generators/add-backend/files/src/server-setup/graphql-server.ts.template +0 -185
  224. package/lib/generators/add-backend/files/src/server-setup/graphql-subscription-server.ts.template +0 -113
  225. package/lib/generators/add-backend/files/src/server-setup/graphql-ws.ts.template +0 -158
  226. package/lib/generators/add-backend/files/src/server-setup/mongodb-migration-update.ts.template +0 -47
  227. package/lib/generators/add-backend/files/src/server-setup/utils.ts.template +0 -43
  228. package/lib/generators/add-backend/files/src/server-setup/websocket-multipath-update.ts.template +0 -88
  229. package/lib/generators/add-backend/files/src/stack-server.ts.template +0 -277
  230. package/lib/generators/add-backend/files/src/utils/migrations.ts.template +0 -32
  231. package/lib/generators/add-backend/files/uploads/3986781.ppt +0 -0
  232. package/lib/generators/add-fullstack/files/tools/update-dependency-link.js +0 -107
  233. package/src/generators/add-fullstack/files/tools/update-dependency-link.js +0 -107
@@ -1,14 +1,22 @@
1
1
  import { addProjectConfiguration, formatFiles, generateFiles, Tree, updateJson } from '@nx/devkit';
2
2
  import * as path from 'path';
3
+ import * as fs from 'node:fs';
4
+ import { deepMerge } from '@common-stack/rollup-vite-utils/lib/utils/setupConfig.cjs';
3
5
  import { AddFrontendGeneratorSchema } from './schema';
4
6
  import { isValid, getValid } from '../../utils';
5
- import { FRAMEWORK_ANTUI, FRAMEWORK_CHAKRAUI } from '../../constants';
7
+ import { FRAMEWORK_ANTUI, FRAMEWORK_CHAKRAUI, FRAMEWORK_TAILWINDUI } from '../../constants';
6
8
 
7
9
  const DEFAULT_FRAMEWORK = FRAMEWORK_ANTUI;
8
10
 
9
11
  export async function addFrontendGenerator(tree: Tree, options: AddFrontendGeneratorSchema) {
10
- // const basePath = process.cwd();
11
12
  const projectName = isValid(options.ns) ? `frontend-${getValid(options.ns)}-server` : 'frontend-server';
13
+ const configs: any = {...options, name: projectName};
14
+
15
+ return await generateFrontend(tree, configs);
16
+ }
17
+
18
+ export const generateFrontend = async (tree: Tree, options: any) => {
19
+ const projectName = getValid(options.name) ?? 'frontend-server';
12
20
  const projectRoot = isValid(options.directory) ? `${getValid(options.directory)}/${projectName}` : projectName;
13
21
  const projectSrc = `${projectRoot}/src`;
14
22
 
@@ -32,10 +40,19 @@ export async function addFrontendGenerator(tree: Tree, options: AddFrontendGener
32
40
  packageJson['dependencies']["@admin-layout/ant-design-pro"] = "latest";
33
41
  packageJson['dependencies']["@admin-layout/ant-ui"] = "latest";
34
42
  packageJson['dependencies']["@adminide-stack/user-auth0-browser-ant"] = "latest";
43
+ packageJson['dependencies']["@ant-design/pro-layout"] = "^7.6.1";
44
+ packageJson['dependencies']["@ant-design/static-style-extract"] = "^1.0.2";
45
+ packageJson['dependencies']["antd"] = "^5.14.0";
35
46
  } else if (framework === FRAMEWORK_CHAKRAUI) {
36
47
  packageJson['dependencies']["@admin-layout/chakra-design-pro"] = "latest";
37
48
  packageJson['dependencies']["@admin-layout/chakra-ui"] = "latest";
38
49
  packageJson['dependencies']["@adminide-stack/user-auth0-browser-chakra"] = "latest";
50
+ packageJson['dependencies']["@emotion/css"] = "^11.10.0";
51
+ packageJson['dependencies']["@emotion/styled"] = "^11.10.4";
52
+ } else if (framework === FRAMEWORK_TAILWINDUI) {
53
+ packageJson['devDependencies']["tailwindcss"] = "^3.4.10";
54
+ packageJson['devDependencies']["postcss"] = "^8.4.41";
55
+ packageJson['devDependencies']["autoprefixer"] = "^10.4.20";
39
56
  }
40
57
 
41
58
  return packageJson;
@@ -48,6 +65,11 @@ export async function addFrontendGenerator(tree: Tree, options: AddFrontendGener
48
65
  configJson['modules'].push("@admin-layout/chakra-design-pro");
49
66
  }
50
67
 
68
+ if (options['config.json']) {
69
+ const addtionalConfigs = options['config.json'];
70
+ configJson = deepMerge(configJson, addtionalConfigs);
71
+ }
72
+
51
73
  return configJson;
52
74
  });
53
75
 
@@ -17,7 +17,7 @@
17
17
  "framework": {
18
18
  "type": "string",
19
19
  "description": "",
20
- "x-prompt": "What UI framework would you like to use in [antui, chakraui]?"
20
+ "x-prompt": "What UI framework would you like to use in [antui, chakraui, tailwindui]?"
21
21
  }
22
22
  },
23
23
  "required": ["ns", "directory", "framework"]
@@ -1,10 +1,11 @@
1
1
  module.exports = {
2
2
  mongodbMemoryServerOptions: {
3
3
  instance: {
4
- dbName: 'jest'
4
+ dbName: 'jest',
5
+ storageEngine: 'wiredTiger',
5
6
  },
6
7
  binary: {
7
- version: '4.0.12', // Version of MongoDB
8
+ version: '4.0.27', // Version of MongoDB
8
9
  skipMD5: true
9
10
  },
10
11
  autoStart: false
@@ -0,0 +1,27 @@
1
+ const merge = require('merge')
2
+ const baseConfig = require('./jest.config.base');
3
+ const mongodbConfig = require('./jest.config.mongodb')
4
+ module.exports = merge.recursive(
5
+ baseConfig,
6
+ mongodbConfig,
7
+ {
8
+ globals: {
9
+
10
+ }
11
+ }, {
12
+ moduleDirectories: [
13
+ "node_modules",
14
+ "packages/adminide-core",
15
+ ],
16
+ }
17
+ // https://baltuta.eu/posts/typescript-lerna-monorepo-more-tools
18
+ // {
19
+ // roots: ['<rootDir>'],
20
+ // projects: [
21
+ // '<rootDir>/packages/ui',
22
+ // '<rootDir>/packages/api',
23
+ // '<rootDir>/packages/diceroll'
24
+ // ],
25
+ // }
26
+
27
+ );
@@ -2,6 +2,45 @@
2
2
  /* eslint-disable @typescript-eslint/no-var-requires */
3
3
  const { defaults } = require('jest-config');
4
4
 
5
+ const packagesToTransform = [
6
+ '@apollo/client',
7
+ '@common-stack/client-core',
8
+ '@common-stack/client-react',
9
+ '@common-stack/core',
10
+ '@admin-layout/client',
11
+ '@common-stack/components-pro',
12
+ '@common-stack/server-core',
13
+ '@common-stack/cache-api-server',
14
+ '@common-stack/remix-router-redux',
15
+ '@cdmbase/redux-auth-wrapper',
16
+ '@cdmbase/remix-redis-session',
17
+ '@cdm-logger/server',
18
+ '@cdm-logger/core',
19
+ '@cdm-logger/client',
20
+ '@files-stack/server-core',
21
+ '@vscode-alt/monaco-editor',
22
+ '@workbench-stack/core',
23
+ '@workbench-stack/platform-server',
24
+ 'abortable-rx',
25
+ 'lodash-es',
26
+ 'sort-keys',
27
+ 'is-plain-obj',
28
+ 'query-string',
29
+ 'decode-uri-component',
30
+ 'split-on-first',
31
+ 'filter-obj',
32
+ 'react-dnd-html5-backend',
33
+ 'react-sortable-tree',
34
+ 'react-dnd',
35
+ 'dnd-core',
36
+ ];
37
+
38
+ const generateTransformIgnorePattern = (packages) => {
39
+ const escapedPackages = packages.map((pkg) => pkg.replace(/\//g, '\\/'));
40
+ return `/node_modules/(?!(${escapedPackages.join('|')})/).+\\.js$`;
41
+ };
42
+ const transformIgnorePattern = generateTransformIgnorePattern(packagesToTransform);
43
+
5
44
  module.exports = {
6
45
  testEnvironment: 'node',
7
46
  setupFiles: [
@@ -10,11 +49,11 @@ module.exports = {
10
49
  ],
11
50
  preset: 'ts-jest',
12
51
  testMatch: null,
13
- testRegex: '.*test*\\.(ts|tsx|js)$',
14
- testPathIgnorePatterns: ['/node_modules/', '/dist/'],
52
+ testRegex: '.*test\\.(ts|tsx|js)$',
53
+ testPathIgnorePatterns: ['/node_modules/', '/lib', '/dist/'],
15
54
  transform: {
16
55
  '\\.(gql)$': 'jest-transform-graphql',
17
- '\\.(graphql|graphqls)$': 'jest-raw-loader',
56
+ '\\.(graphql|graphqls)$': '@glen/jest-raw-loader',
18
57
  '\\.(ts|tsx)$': 'ts-jest',
19
58
  // Use our custom transformer only for the *.js and *.jsx files
20
59
  '\\.(js|jsx)?$': './transform.js',
@@ -39,7 +78,7 @@ module.exports = {
39
78
  // because we don't need to use any kind of tree shaking right?!
40
79
  '^lodash-es$': '<rootDir>/node_modules/lodash/index.js',
41
80
  },
42
- transformIgnorePatterns: ['/node_modules/(?!(babel-runtime|antd)).*/', '<rootDir>/node_modules/(?!lodash-es/.*)'],
81
+ transformIgnorePatterns: [transformIgnorePattern],
43
82
  clearMocks: true,
44
83
  verbose: true,
45
84
  // projects: ['<rootDir>'], // TODO need to test with it https://github.com/bryan-hunter/yarn-workspace-lerna-monorepo/blob/master/jest.config.base.js
@@ -0,0 +1,99 @@
1
+ /* eslint-disable import/no-extraneous-dependencies */
2
+ /* eslint-disable @typescript-eslint/no-var-requires */
3
+ import { defaults } from 'jest-config';
4
+
5
+ const packagesToTransform = [
6
+ '@apollo/client',
7
+ '@apollo/server',
8
+ '@graphql-tools/schema',
9
+ '@graphql-tools/mock',
10
+ '@common-stack/client-core',
11
+ '@common-stack/client-react',
12
+ '@common-stack/core',
13
+ '@common-stack/server-core',
14
+ '@common-stack/cache-api-server',
15
+ '@common-stack/remix-router-redux',
16
+ '@common-stack/graphql-api',
17
+ '@cdmbase/graphql-type-uri',
18
+ '@cdm-logger/server',
19
+ '@cdm-logger/core',
20
+ '@cdm-logger/client',
21
+ '@files-stack/core',
22
+ '@files-stack/server-core',
23
+ '@vscode-alt/monaco-editor',
24
+ '@workbench-stack/core',
25
+ '@workbench-stack/platform-server',
26
+ 'graphql',
27
+ 'abortable-rx',
28
+ 'lodash-es',
29
+ 'sort-keys',
30
+ 'is-plain-obj',
31
+ 'query-string',
32
+ 'decode-uri-component',
33
+ 'split-on-first',
34
+ 'filter-obj',
35
+ 'react-dnd-html5-backend',
36
+ 'react-sortable-tree',
37
+ 'react-dnd',
38
+ 'dnd-core',
39
+ ];
40
+
41
+ const generateTransformIgnorePattern = (packages) => {
42
+ const escapedPackages = packages.map((pkg) => pkg.replace(/\//g, '\\/'));
43
+ return `/node_modules/(?!(${escapedPackages.join('|')})/).+\\.js$`;
44
+ };
45
+ const transformIgnorePattern = generateTransformIgnorePattern(packagesToTransform);
46
+
47
+ export default {
48
+ testEnvironment: 'node',
49
+ setupFiles: [
50
+ // needed for UI to mock canvas load
51
+ // "jest-canvas-mock"
52
+ ],
53
+ extensionsToTreatAsEsm: ['.ts', '.tsx'],
54
+ preset: 'ts-jest',
55
+ testMatch: null,
56
+ testRegex: '.*test\\.(ts|tsx|js)$',
57
+ testPathIgnorePatterns: ['/node_modules/', '/lib', '/dist/'],
58
+ transform: {
59
+ '\\.(gql)$': 'jest-transform-graphql',
60
+ '\\.(graphql|graphqls)$': '@glen/jest-raw-loader',
61
+ '\\.(ts|tsx)$': 'ts-jest',
62
+ // // Use our custom transformer only for the *.js and *.jsx files
63
+ '\\.(js|jsx)?$': './transform.mjs',
64
+ // future need to test with
65
+ // "^.+\\.(js|jsx|ts|tsx)$": "./transform.js",
66
+ '.+\\.(css|styl|less|sass|scss)$': 'jest-css-modules-transform',
67
+ },
68
+ roots: ['packages', 'packages-modules', 'servers'],
69
+ moduleFileExtensions: [
70
+ ...defaults.moduleFileExtensions,
71
+ 'json',
72
+ 'gql',
73
+ 'graphql',
74
+ ],
75
+ moduleNameMapper: {
76
+ '^__mocks__/(.*)$': '<rootDir>/../../__mocks__/$1',
77
+ // we'll use commonjs version of lodash for tests 👌
78
+ // because we don't need to use any kind of tree shaking right?!
79
+ '^lodash-es$': '<rootDir>/node_modules/lodash/index.js',
80
+ },
81
+ transformIgnorePatterns: [transformIgnorePattern],
82
+ clearMocks: true,
83
+ verbose: true,
84
+ // projects: ['<rootDir>'], // TODO need to test with it https://github.com/bryan-hunter/yarn-workspace-lerna-monorepo/blob/master/jest.config.base.js
85
+ coverageDirectory: '<rootDir>/coverage/',
86
+ coveragePathIgnorePatterns: ['<rootDir>/build/', '<rootDir>/lib/', '<rootDir>/dist/', '<rootDir>/node_modules/'],
87
+ globals: {
88
+ __BACKEND_URL__: 'http://localhost:3010',
89
+ __GRAPHQL_URL__: 'http://localhost:8085/graphql',
90
+ 'ts-jest': {
91
+ // tsConfig: "<rootDir>/src/__tests__/tsconfig.json",
92
+ // https://github.com/kulshekhar/ts-jest/issues/766
93
+ diagnostics: {
94
+ warnOnly: true,
95
+ },
96
+ // "skipBabel": true
97
+ },
98
+ },
99
+ };
@@ -0,0 +1,3 @@
1
+ export default {
2
+ preset: '@shelf/jest-mongodb',
3
+ };
@@ -1,4 +1,7 @@
1
1
  module.exports = {
2
2
  '*.{js,jsx,ts,tsx,json,md}': ['prettier --write', 'git add'],
3
3
  // '*.{ts,tsx}': ['eslint --fix'], // this can be tested
4
- };
4
+ 'package.json': ['sort-package-json', 'prettier --write'],
5
+ '*/**/package.json': ['sort-package-json', 'prettier --write'],
6
+ '**/**/*/package.json': ['sort-package-json', 'prettier --write'],
7
+ };
@@ -1,20 +1,25 @@
1
1
  {
2
2
  "tasksRunnerOptions": {
3
- "default": {
4
- "runner": "nx/tasks-runners/default",
5
- "options": {
6
- "cacheableOperations": ["build"],
7
- "runtimeCacheInputs": ["node --version"]
3
+ "default": {
4
+ "runner": "@nx-aws-plugin/nx-aws-cache",
5
+ "options": {
6
+ "runtimeCacheInputs": ["node --version"],
7
+ "awsAccessKeyId": "xxxx",
8
+ "awsSecretAccessKey": "xxxx",
9
+ "awsRegion": "ca-central-1",
10
+ "awsBucket": "clockbook-screenshot"
11
+ }
8
12
  }
9
- }
10
13
  },
11
14
  "targetDefaults": {
12
- "build": {
13
- "dependsOn": ["^build"],
14
- "inputs": ["default", "^default", "{projectRoot}/src/**/*"]
15
- },
16
- "test": {
17
- "dependsOn": ["build"]
18
- }
15
+ "build": {
16
+ "dependsOn": ["^build"],
17
+ "inputs": ["default", "^default", "{projectRoot}/src/**/*"],
18
+ "cache": true,
19
+ "outputs": ["{projectRoot}/lib"]
20
+ },
21
+ "test": {
22
+ "dependsOn": ["^test"]
23
+ }
19
24
  }
20
25
  }
@@ -37,15 +37,12 @@
37
37
  "clean:install": "yarn clean:force && yarn git:pull && yarn bootstrap",
38
38
  "cli": "node tools/cli",
39
39
  "commit": "git cz",
40
- "prepare": "husky",
41
40
  "compile": "lerna exec -- yarn compile",
42
41
  "coverage": "jest --coverage",
43
42
  "postcoverage": "remap-istanbul --input coverage/coverage.raw.json --type lcovonly --output coverage/lcov.info",
44
43
  "db:migrate": "knex migrate:latest --cwd . --knexfile ./servers/backend-server/knexfile.js",
45
44
  "db:migrate:rollback": "knex migrate:rollback --cwd . --knexfile ./servers/backend-server/knexfile.js",
46
45
  "db:seed": "yarn db:migrate && knex seed:run --cwd . --knexfile ./servers/backend-server/knexfile.js",
47
- "sort-packages": "node tools/sortPackageJson.mjs",
48
- "setBranchEnv": "cross-env REPOSITORY_BRANCH=${1:-$REPOSITORY_BRANCH} PUBLISH_BRANCH=${2:-$PUBLISH_BRANCH}",
49
46
  "predevpublish": "if ! git show-ref --verify --quiet refs/remotes/origin/$PUBLISH_BRANCH; then git checkout -b $PUBLISH_BRANCH && git push -u origin $PUBLISH_BRANCH; fi && git fetch origin $PUBLISH_BRANCH && git checkout $PUBLISH_BRANCH && git pull origin $PUBLISH_BRANCH && git merge -s recursive -X theirs $REPOSITORY_BRANCH -m \"merge from $REPOSITORY_BRANCH\" && yarn gitcommit && node tools/update-dependency-version.js && yarn gitcommit",
50
47
  "devpublish": "lerna publish prerelease --ignore-scripts --exact",
51
48
  "postdevpublish": "git checkout $REPOSITORY_BRANCH",
@@ -63,7 +60,6 @@
63
60
  "husky-skip": "cross-env HUSKY_SKIP_HOOKS=1",
64
61
  "jest": "./node_modules/.bin/jest",
65
62
  "lerna": "lerna bootstrap",
66
- "update-lerna-on-develop": "git checkout publish && git pull && cp lerna.json ../lerna-temp.json && git checkout develop && mv ../lerna-temp.json lerna.json && git commit -am 'Update lerna.json' && git push",
67
63
  "prelernapublish": "git checkout publish && git pull origin publish && git merge -s recursive -X theirs master -m 'merge from master' && yarn gitcommit && node tools/update-dependency-version.js && yarn gitcommit",
68
64
  "lernapublish": "lerna publish --ignore-scripts --cd-version=patch && yarn update-lerna-on-develop",
69
65
  "postlernapublish": "git checkout master",
@@ -72,23 +68,27 @@
72
68
  "lint:fix": "yarn lint -- --fix",
73
69
  "lint:md": "markdownlint",
74
70
  "lintx": "yarn lint ./packages/**/src/**/*.ts ./packages-modules/**/src/**/*.ts",
71
+ "prepare": "husky",
75
72
  "prodBuild": "cross-env NODE_ENV=production babel-node --presets es2015 tools/webpack.run",
76
73
  "publish": "yarn lernapublish",
77
74
  "publish:auto": "yarn lernapublish --yes",
78
75
  "publish:force": "yarn publish:forceManual --yes",
79
76
  "publish:forceManual": "yarn lernapublish --force-publish=*",
80
77
  "publish:push": "yarn prelernapublish && git push origin publish && yarn postlernapublish",
81
- "startWeb": "lerna run --scope='{*frontend-server,*backend-server}' --parallel watch --stream",
78
+ "setBranchEnv": "cross-env REPOSITORY_BRANCH=${1:-$REPOSITORY_BRANCH} PUBLISH_BRANCH=${2:-$PUBLISH_BRANCH}",
79
+ "sort-packages": "node tools/sortPackageJson.mjs",
82
80
  "start": "cross-env NODE_ENV=development ENV_FILE=../../config/development/dev.env yarn startWeb",
83
- "start:devSSR": "concurrently --names \"BACKEND,FRONTEND\" -c \"bgBlue.bold,bgMagenta.bold\" \"lerna run --scope='*backend-server' watch\" \"lerna run --scope='*frontend-server' start:devSSR\"",
84
81
  "start:SSR": "concurrently --names \"BACKEND,FRONTEND\" -c \"bgBlue.bold,bgMagenta.bold\" \"lerna run --scope='*backend-server' start\" \"lerna run --scope='*frontend-server' start:SSR\"",
82
+ "start:devSSR": "concurrently --names \"BACKEND,FRONTEND\" -c \"bgBlue.bold,bgMagenta.bold\" \"lerna run --scope='*backend-server' watch\" \"lerna run --scope='*frontend-server' start:devSSR\"",
85
83
  "start:test": "cross-env NODE_ENV=test ENV_FILE=../../config/test/test.env yarn startWeb",
84
+ "startWeb": "lerna run --scope='{*frontend-server,*backend-server}' --parallel watch --stream",
86
85
  "test": "cross-env ENV_FILE=config/test/test.env jest",
87
86
  "posttest": "yarn lint",
88
87
  "test:watch": "npm test -- --watch",
89
88
  "pretravis": "yarn compile",
90
89
  "travis": "istanbul cover -x \"*.test.js\" _mocha -- --timeout 5000 --full-trace ./test/tests.js",
91
90
  "posttravis": "yarn lint",
91
+ "update-lerna-on-develop": "git checkout publish && git pull && cp lerna.json ../lerna-temp.json && git checkout develop && mv ../lerna-temp.json lerna.json && git commit -am 'Update lerna.json' && git push",
92
92
  "watch": "lerna exec --no-sort --ignore *server --ignore *device --ignore *browser-extension --stream --parallel -- webpack --watch",
93
93
  "watch-packages": "lerna exec --no-sort --scope @sample-stack/platform* --scope @sample-stack/react-shared-components --scope @sample-stack/core --stream --parallel 'webpack --watch'",
94
94
  "zen:build": "cross-env NODE_ENV=production zen build",
@@ -159,7 +159,7 @@
159
159
  "@babel/preset-typescript": "^7.18.6",
160
160
  "@babel/register": "^7.18.9",
161
161
  "@babel/runtime": "^7.20.1",
162
- "@common-stack/env-list-loader": "6.0.1-alpha.0",
162
+ "@common-stack/env-list-loader": "6.0.2-alpha.1",
163
163
  "@emotion/babel-plugin": "^11.11.0",
164
164
  "@graphql-codegen/add": "^5.0.2",
165
165
  "@graphql-codegen/cli": "^5.0.2",
@@ -324,10 +324,10 @@
324
324
  "shelljs": "^0.8.5",
325
325
  "simple-git": "^3.14.1",
326
326
  "sinon": "^14.0.2",
327
+ "sort-package-json": "^2.10.0",
327
328
  "source-list-map": "^2.0.1",
328
329
  "source-map-loader": "^4.0.1",
329
330
  "source-map-support": "^0.5.21",
330
- "sort-package-json": "^2.10.0",
331
331
  "standard-version": "^9.5.0",
332
332
  "stream-browserify": "^3.0.0",
333
333
  "style-loader": "^3.3.1",
@@ -1,7 +1,7 @@
1
1
  const shell = require('shelljs');
2
2
  const fs = require('fs');
3
3
  const { pascalize, decamelize } = require('humps');
4
- const { startCase } = require('lodash');
4
+ const { startCase } = require('lodash-es');
5
5
  const { BASE_PATH } = require('../config');
6
6
 
7
7
  /**
@@ -24,7 +24,7 @@ function updateLernaJson(filePath, versionArg) {
24
24
  lernaConfig.version = `${majorVersion}.${minorVersion}.0`;
25
25
 
26
26
  // Update the allowBranch fields
27
- const branchName = `devpublish${majorVersion}${minorVersion !== '0' ? '.' + minorVersion : ''}`;
27
+ const branchName = `devpublish${majorVersion}${minorVersion !== '0' ? '_' + minorVersion : ''}`;
28
28
  lernaConfig.command.publish.allowBranch.push(branchName);
29
29
  lernaConfig.command.version.allowBranch.push(branchName);
30
30
 
@@ -0,0 +1,8 @@
1
+ module.exports = {
2
+ bracketSpacing: true,
3
+ printWidth: 120,
4
+ singleQuote: true,
5
+ tabWidth: 4,
6
+ trailingComma: 'all',
7
+ endOfLine: 'lf',
8
+ };
@@ -0,0 +1,48 @@
1
+ import { promisify } from 'util';
2
+ import glob from 'glob';
3
+ import fs from 'fs';
4
+ import path from 'path';
5
+
6
+ const globPromise = promisify(glob.glob); // Make sure to call .glob here
7
+
8
+ export default function generateJsonFromSpecificFiles(options = {}) {
9
+ const {
10
+ pattern = '**/**/compute.js', // Pattern to match files
11
+ dist = 'lib', // Default output directory
12
+ outputFile = 'routes.json', // Output filename
13
+ } = options;
14
+
15
+ return {
16
+ name: 'aggregate-compute-routes',
17
+ async writeBundle() { // Changed from generateBundle to writeBundle
18
+ const files = await globPromise(path.join(dist, pattern), { absolute: true }); // Ensure paths are absolute
19
+ let allFilteredRoutes = [];
20
+
21
+ for (const file of files) {
22
+ try {
23
+ // Dynamically import the JS file assuming it exports filteredRoutes
24
+ const module = await import(file); // file is already absolute
25
+ if (module.filteredRoutes) {
26
+ const newRoutes = module.filteredRoutes.map((filteredRoute) => {
27
+ let routConfig = Object.values(filteredRoute)[0];
28
+ return { [routConfig.path]: routConfig };
29
+ });
30
+ allFilteredRoutes.push(...newRoutes);
31
+ }
32
+ } catch (error) {
33
+ this.warn(`Error importing ${file}: ${error}`);
34
+ }
35
+ }
36
+
37
+ // Ensure the dist directory exists
38
+ if (!fs.existsSync(dist)) {
39
+ fs.mkdirSync(dist, { recursive: true });
40
+ }
41
+
42
+ // Specify the output file path and write the aggregated filteredRoutes to a JSON file
43
+ const outputPath = path.join(dist, outputFile);
44
+ fs.writeFileSync(outputPath, JSON.stringify(allFilteredRoutes, null, 2), 'utf8');
45
+ console.log(`Aggregated filtered routes have been written to ${outputPath}`);
46
+ },
47
+ };
48
+ }